自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 jenkinsfile parallel stage中failfast配置的作用

以上jenkinsfile会同时执行test1和test2两个stage,并且这两个stage都会失败。

2024-12-24 16:41:56 270

原创 用户创建文件和文件夹的默认权限和什么相关

1)如果umask=0000,那么默认文件权限是666,文件夹权限是777,因为0000不会对权限有衰减。2)当umask>0, 那么会对权限有所衰减,一般会去掉其他用户的读写权限。

2024-10-31 09:39:31 139

原创 trivy如何扫描二进制软件

step 2: 以上述镜像为base,加上你想扫描的软件,docker build出一个新的镜像。有一个二进制软件例如helm如何扫描其漏洞呢?在trivy的官方文档没有找到对应的办法。step 1: 准备一个没有漏洞的镜像,例如 busybox:1.36.1。step 3: 扫描step2中build出来的镜像即可。

2024-10-08 10:46:29 155

原创 没有docker-compose.yaml的情况下删除主机上的docker compose资源

3) 删除所有未使用的镜像、网络、卷等,包含停止的容器。

2024-09-20 11:02:44 164

原创 python容易犯的错误

如果你的目的是判断a是否存在dict1,那么最好不要这么用,因为如果a的value是false的话,也会进入if。但是这并不符合你的预期。应该使用"a" in dict1这个判断。

2024-09-06 14:03:34 124 1

原创 如何DEBUG一个正在运行的POD

有些命令例如strace/ptrace需要更高系统权限,因此用上面的kubectl debug命令没用办法使用(目前kubectl debug命令还不支持设置securitycontext),所以可以使用下面的办法。K8S会使用debug镜像在POD里起一个EphemeralContainer,和目标container共享linux namespace,但是注意他们不共享rootfs和mountfs,两者的文件系统是独立的。使用的yaml文件如下,需要改下nodeName为step1中所查得node。

2024-05-29 09:47:07 956

原创 为什么以下代码无法改变传入list的值?

该函数接收一个列表和一个数字作为参数,然后根据列表的长度与给定数字的关系来扩展或缩短列表。如果列表长度小于给定数字,我们会用0来填充它直到长度达到给定数字;如果列表长度大于给定数字,我们会从尾部删除元素直到长度等于给定数字。len(list_data) < target_len时,确认输入参数extend了。但是len(list_data) > target_len, 输入参数未变化。难道是因为不能对函数的形参赋值无效?

2024-04-02 11:38:35 216 1

原创 如何解决crontab由于磁盘空间不足导致不执行的问题

crontab里的定时全部不执行,crontab -e报错“No space left on device“df -h发现只有62%空间被占用。

2024-01-15 11:44:44 536 1

原创 如何解决ansible mount模块报错“permssion denied“

加上 -b --become-user=root即可,当然前提是hosts.ini定义的ansible_ssh_user有sudo权限,或者直接定义hosts.ini里的ansible_ssh_user=root。需要对一批机器挂载nfs server上的同一个目录,要求永久生效。执行后报错permission denied,原因是root才可以修改/etc/fstab文件。

2023-12-14 17:24:43 439 1

原创 更改crontab默认编辑器

只会使用vi来crontab -e。

2023-12-07 18:44:09 309 1

原创 如何启动一个永不stop的docker container

需要每天在一台服务器上使用docker run的方式启动trivy扫描,因为trivy的image下载比较慢,所以需要保留。但是这台服务器空间有限,需要定时使用docker image prune -a -f来删除没有container引用的镜像,这样就会有可能把trivy镜像删除。命令解析:-d 表示后台执行;–entrypoint表示用sleep覆盖原来的trivy命令。sleep infinity表示sleep无限长。

2023-11-30 18:42:05 431

原创 ansible执行的一些常见问题

【代码】ansible执行的一些常见问题。

2023-10-26 17:26:15 381

原创 记一次使用pramiko执行远程命令遇到命令无故被kill的问题

实际上就是向socket写输出时被kill了。那么问题来了?远程端的socker到底发生什么了?网上说可能是socket被close了,那为啥会被close呢?简单说一个ssh连接如果没有数据交互多久会断呢?在本地抓包发现很久都没有包来回。

2023-09-01 23:12:05 172

原创 使用python的multiprocess实现多线程容易犯的错

能看出为啥就起了一个线程么?就是因为run这加了括号,这样就不是传函数名了,变成先调用函数了。

2023-09-01 21:46:16 84 1

原创 docker镜像中安装rabbitmq报错

因为我的docker镜像中安装了rabbitmq serverapt-get install -y -q --allow-unauthenticated rabbitmq-server在build过程中会报错:Not creating home directory `/var/lib/rabbitmq’.invoke-rc.d: could not determine current runlevelinvoke-rc.d: policy-rc.d denied execution of star

2021-11-11 12:48:12 3441

原创 docker上层镜像的env变量如何取消

我的镜像aa:v4基于上层镜像aa:v3打的,因为aa:v3中设置了一个环境变量abc,但是在aa:v4中我希望这个环境变量默认不存在,因为我想判断docker run的时候有没有传给我这个环境变量。这种情况可以使用这个把这个环境变量设置成空ENV abc=也可以在dockerfile中使用下述命令:RUN unset abc都可以将这个环境变量置为空...

2021-11-11 12:41:06 2250

原创 解决python同目录报错:moduleNotFoundError

问题同一个目录下有两个py,A.py和B.py,A.py想import B.py, 如果这么写就会报错:from .import B要想跑通过,必须写from dir.B import **

2021-10-15 18:36:42 326

原创 crontab执行和shell执行的差异

先插播一条shell小知识,直接shell运行命令时,标准错误和标准输出都会显示在终端上,但是用>重定向到文件时,只有标准输出,所以需要加上 2>&1才能把标准错误也加上,方便debug写了个脚本,shell手动运行没问题,但是写到crontab里面就报错:./auto_test.sh: line 16: kubectl: command not found首先crontab也是以root用户运行,应该不会时用户权限的问题。经过实验,发现:在另一台机器上是可以通过crontab

2021-10-14 23:04:09 943

原创 shell命令在终端可以执行成功但是用java代码调用报错

List item一条简单的kubectl命令kubectl exec pod-name – bash -c “ls -rlt aa && echo aa”本地可以成功,但是用java调用时失败

2021-10-13 11:07:23 787

原创 k8s中cronjob没有按照预定时间执行

问题描述:在k8s中新建一个cronjob,当schedule=0 1 * * *这样一个具体的某点某分时不会在预期时间执行,但是当schedule=0 * * * *这样一个相对时间时,即某个小时执行一次,是可以在预期时间执行的。debug:1)猜测1,这个k8s宿主机上的时间很奇怪:root@k8sdeploy-master:/home/tsingj_ubuntu# dateWed 15 Sep 2021 09:31:27 PM CSTroot@k8sdeploy-master:/home/

2021-09-15 22:32:07 1522

原创 sqlite数据库编程之python多进程并发

注意,这里不是说多线程并发,而是多进程!多线程可以通过加锁来控制并发访问,但是进程之间是没有共享资源的,无法通过加锁来控制!面临的场景先简单描叙下我面临的场景,有10个python进程,都会访问数据库里的同一张表,访问流程大概如下:step1: 通过select 语句检查该表是否存在,step2: 如果不存在,创建该表,设置time值如果存在,读取该表的time值,加1后再update该表面临的问题简单分析可以看到这个流程存在的问题:1)当该表不存在时,有可能有两个进程同时检测到该表不存在,

2021-04-22 11:15:58 1242

原创 用ansible实现在K8s集群上运行同样脚本的功能

#目的在一个k8s集群内的每台机器上运行某一个脚本,例如,/tmp/script.sh#步骤1)写一个脚本收集集群内所有机器的IP生成hosts.ini#!/bin/bash fileName=hosts.inigroupName=k8skubectl get nodes -o wide | awk '{print $6}' > ${fileName}sed -i "s/$/& ansible_ssh_user={username}/g" ${fileName}sed -

2021-04-21 12:38:58 213

原创 实践中学docker

最近把自己写的一个工具做成了docker,把自己总结的一些docker知识汇总了下

2021-04-21 12:28:08 104

原创 python 如何访问redis cluster

python中如何访问redis集群安装依赖因为redis py cluster库不支持最新的redis版本,只能安装旧版本pip install redis==2.10.6pip install redis-py-cluster==1.3.6代码实现 startup_nodes = [{"host": host, 'port': port}] r = RedisCluster(startup_nodes=startup_nodes, password=password, dec

2021-04-19 10:57:46 117

原创 sed用变量替换文件中某一行的内容

sed替换文件中某一行的内容@TOCsed用变量替换文件中某一行的内容其中,lineNum变量表示要替换第几行,num变量表示要替换的内容,这里我设置的是随机数。试了好多种方法,这样写才能支持变量,重点是不要c后面的""。sed -i "${lineNum}c${num}" ${fileName}...

2021-04-19 10:50:04 4594

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除