- 博客(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
原创 如何启动一个永不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
原创 记一次使用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
原创 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关注的人