- 博客(803)
- 资源 (7)
- 收藏
- 关注
原创 [问题已处理]-docker build报错make :bin:sh Operation not permitted
导语:在构建docker image的过程中报错make /bin/sh Operation not permitted。最终通过查看install的最终命令如执行。完整Dockerfile如下。
2023-07-12 15:07:05
553
原创 [golang]-gin支持跨域请求
gin的中间件可以添加到全局, 也可以添加到单个路由上。我之前做了routers分组,没有在main.go里添加,导致部分路由还是提示跨域。导语:记录一下golang gin支持跨域请求。中间件cors.go。添加到main.go。
2023-04-18 10:37:35
652
1
原创 [golang]-用golang写一个清理异常pod的服务
导语:需要写一个定时清理异常pod的服务。把对应状态为error(ContainerStatusUnknown Evicted Error )的pod直接删除,处于删除状态,但是删除超过15分钟的pod强制删除。链接: https://pan.baidu.com/s/1IDJCn5nuLZnfwRVyFzfw3g?pwd=y2r5 提取码: y2r5。会输出一下对应pod error的原因。–来自百度网盘超级会员v6的分享。
2023-04-18 10:36:15
228
原创 [kubernetes]-k8s调整镜像清理策略
导语:k8s在磁盘使用率到达80%之后开始清理镜像,导致服务重启后镜像被删除。记录一下大致调整的方法。
2023-04-18 10:35:10
1146
原创 [golang]-通过informer来watch k8s资源变更
与此同时,它创建了一个名为informer的Deployment Informer对象,并使用ResourceEventHandlerFuncs处理函数注册了一个回调函数,以接收 Deployment资源的事件通知,并记录这些事件。此示例使用了gin框架来实现基本的HTTP路由。最后,启动这个informer对象的goroutine,开始watch Deployment资源,并等待其缓存变得同步,在HTTP服务器之前完成。导语:记录一下使用informer来watch k8s资源变更。
2023-04-18 10:33:31
195
原创 [kubernetes]-dockerx构建多cpu架构的镜像
导语:偶尔有需求 镜像需要制作amd和arm的不同镜像。发现有buildx这个东西。配置多平台cpu指令集模拟机,让docker支持除当前处理器之外的其他cpu指令集。同时构建x86和arm的镜像。Dockerfile如下。
2023-04-18 10:31:29
193
原创 [linux]-promtail采集系统网络链接行为
导语:跟随大佬的脚本,采集服务器中应用程序的网络链接行为。最终效果是能看到具体某个程序的网络行为日志,展示频繁出现的ip地址。完成了很早之前就想做但没做到的事,记录一下。
2023-04-18 10:31:19
101
原创 [问题已处理]-Unknown desc = RuntimeHandler “nvidia“ not supported
导语:使用runtimeclass时报错Failed to create pod sandbox: rpc error: code = Unknown desc = RuntimeHandler “nvidia” not supported。以docker为运行时的k8s,需要修改handler为docker。查看资料https://opni.io/setup/gpu/
2023-04-17 18:06:43
179
1
原创 [linux]-通过echo命令做端口检查
https://github.com/zq-david-wang/linux-tools/blob/main/misc/tcpportcheck.c 这个更适合端口检查,echo > /dev/tcp/…会建立链接,然后关闭,这样在server端会出发accept操作,对应用来说是有感知的,tcpportcheck.c是参考haproxy的端口检查,在tcp链接建立之前就把链接close掉了,应用无感知。可以通过这个命令在一些没有telnet或者curl命令的环境检测端口。
2023-04-17 18:05:37
711
原创 [kubernetes]-k8s安装metallb获取tcp source ip
导语:k8s中的pod需要获取tcp请求的source ip。使用metallb作为LoadBalancer,但是有个缺陷。网络设备不支持BGP的话只能用l2的方式。只能达到高可用,无法实现负载均衡。测试了如下情况。A 2台node 4个nginx pod,每个node2个pod,请求通过loadBalancerIP访问。请求只会打到某个node的2个节点上。虽然通过ipvsadm -Ln 查看node上的规则确实有对应loadBalancerIP转到pod ip,但是请求就没打到对应的node上B
2023-04-17 18:04:33
172
原创 [kubernetes]-k8s使用HNC创建vcluster
默认情况下, parent namespace下的所属的Role 和 RoleBinding 对象会传递给 child 命名空间对象。没有继续测试,后续创建secret来控制ns的权限应该就行了吧。看github活跃不太行了。验证下 hnc-child-{1,2} 命名空间下是否能看到相同的 role。导语:k8s使用HNC创建vcluster。记录一下 大致流程。
2023-04-17 17:59:53
80
原创 [问题已处理]-ubuntu重启networking之后路由丢失
导语:服务器通过脚本修改网络ip之后,提供的wifi无法连接。排查后发现是缺少一条路由。这个路由在开机启动的时候会生成,但是通过命令systemctl restart networking 之后就会丢失。可以通过这个命令添加。这样每次重启networking依旧会加上路由。
2023-04-17 17:57:10
405
原创 [问题已处理]-ingress.1.1.1 启动报80端口被占用过
环境信息 k8s.122 ubuntu16.04 nginx-ingress-controller:v1.1.1。docker安装在机械盘,机械盘更换过,且重装过k8s,删除了etcd无法解决。确认过端口没有被其他程序占用。报错及telnet端口的截图如下。尝试更改端口成800,也是报端口被占用。确认过端口并没有占用。导语:服务器重启后nginx-ingress-controller 启动不了 一直提示80端口被占用。看changlog是1.0.0就修复了,之前可能有类似bug。
2023-04-17 17:55:30
267
原创 [docker]-docker通过 --mount=type=tmpfs 来减小COPY命令层的大小
需要优化docker镜像,原先的cuda是通过将run文件COPY到容器里安装的,COPY这一层占用比较大。因为使用 RUN --mount=type=tmpfs 命令来挂载一个大小为 100MB 的临时文件系统到 /tmp 目录,并在其中执行 touch 命令以创建一个测试文件。size 选项指定临时文件系统的大小,uid 和 gid 选项指定文件系统的用户和组,mode 选项指定文件系统的访问权限。在 RUN 命令执行完成后,临时文件系统将被卸载,其中的数据将不会被保留。适用需要下载或解压的场景。
2023-04-17 17:48:16
193
原创 [问题已处理]-服务器报错没有egl
libglvnd是与供应商无关的调度层,用于仲裁多个供应商之间的OpenGL API调用。它允许来自不同供应商的多个驱动程序共存于同一文件系统上,并确定在运行时将每个API调用分派给哪个供应商。支持GLX和EGL,并与OpenGL和OpenGL ES任意组合。链接: https://pan.baidu.com/s/12pxBc9S_N5_gconZamfBbw?pwd=8lbt 提取码: 8lbt。可以通过对应的文件来测试系统是否已经安装的egl。–来自百度网盘超级会员v6的分享。
2023-04-17 17:46:48
176
原创 [jenkins]-jenkins流水线根据是否是定时触发执行部分stage
导语:jenkins 流水线有个.git比较大的job,还在测试阶段,经常1个多月不部署,导致job里下载的git等被清理。这个 Stage 配置定时构建,即每周一次。其他 Stage 并没有配置构建触发器,所以不会受到定时构建的影响。要在 pipeline 中实现这个功能,您需要在 pipeline 脚本中添加。语句来限制只有指定的模块或路径中的代码更改时才执行对应的构建操作。希望这个示例能够帮助您实现 pipeline 定期构建的需求。希望这个示例能够帮助您实现针对 Stage 的定时构建需求。
2023-04-17 17:43:48
425
原创 [linux]-反弹shell 获取远程服务器权限
导语:反弹shell 获取远程服务器权限。记录一下,感觉挺好玩的。B 攻击的机器 能够暴露5555端口 且端口放行。右边为B机器,已经成功获取A机器的shell权限了。A 被攻击的机器 需要能够访问外网。
2023-03-25 14:13:50
126
原创 [kubernetes]-helm传入参数通过if来匹配不同场景所需
当orgLabel为其他值时,生成org: orgLabel。导语:希望通过helm传入参数来匹配不同场景的内存配置。当orgLabel为空时,则生成org: no-org。当orgLabel为hr时,生成org: hr。测试我想实现的根据参数调整资源限制的方法。修改values.yaml。
2023-03-25 14:11:29
274
原创 [问题已处理]-helm install报错tar Error is not recoverable
导语:今天helm安装的时候 莫名其妙报错一个类似解压的报错。但是我脚本中就一条内容 helm install。查看yaml文件 怀疑是少给hostPath添加。对应有关键字的yaml如下。修改之后确实没有再报错。
2023-03-25 14:01:46
74
原创 [问题已处理]-harbor更新ssl证书
cat docker-compose.yml 对应的证书也需要更新。导语:harbor证书过期更新ssl证书。格式. 否则可能出现401的情况。直接更新harbor数据库密码。遇到的问题:下载下来的证书。
2023-03-25 14:00:37
381
原创 [linux]ubuntu22安装mysql5.7.40
导语:ubuntu22.04 强制安装mysql5.7.40。安装完安装其他apt依赖的时候 可能会造成mysql出问题。最好还是离线环境用。链接: https://pan.baidu.com/s/1ZQtlb2q6fUhi23Zb35NFGg?pwd=09s6 提取码: 09s6。–来自百度网盘超级会员v6的分享。
2023-03-25 13:58:13
754
原创 [问题已处理]-Error 803- system has unsupported display driver cuda driver combination
打开宿主机上/etc/nvidia-container-runtime/config.toml中的debug开关,启动容器,就会看到启动日志(/var/log/nvidia-container-toolkit.log)这里已经把对应的libcuda.so.465.27做到镜像里了 所以可能没有对应的挂载日志。造成这个的原因我认为是低版本的driver不会覆盖镜像中高版本的driver导致,详细可以参考如下图片和链接。这里宿主机的cuda driver挂载进去了 但是并没有替换镜像里的driver。
2023-03-25 13:56:11
1375
原创 [linux]-linux通过diskstats来计算磁盘写入的延迟
通过获取磁盘60秒内写盘花的时间(毫秒) 和写磁盘的次数 相除来获得每次写需要的耗时。导语:看到资料有计算磁盘延迟的。写一个类似的shell脚本 以防后续要用。1分钟内写操作花费的毫秒数/写入完成 iops的数量。
2023-03-25 13:52:46
729
原创 [问题已处理]-nfs挂载盘被覆盖导致数据不同步
起因:A机器的/data1是一块4T盘,然后/data1/inputdata/server2_disk(1-6)是6块8T盘,这6块盘需要通过nfs挂载到B机器上。更新服务第二天后查看发现B机器上数据和A机器不对等。排查后发现是B上挂载的是A的4T盘。排查后发现A机器上的/etc/fstab路径没写对。挂载完6T的盘(/data1/inputdata/xxx)之后 再挂载的4T的盘(/data1)。需要先挂载4T的盘,再挂6T的盘。后续为了保险把原先的挂载路径/data1修改为/mysqldata。
2023-03-25 13:52:41
260
bizhub2200P.zip
2020-07-11
觅安教育zabbix4.0个人学习笔记.docx
2019-11-22
mysql的monyog工具,8.8.0版本
2019-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人