- 博客(831)
- 资源 (7)
- 收藏
- 关注
原创 [问题已处理]-离线安装系统未设置中文字体支持
usr/share/man/zh_CN 如果没有这个文件夹同步过去应该也可以使用。导语:同事离线安装系统,没有中文支持。
2024-04-12 11:50:22 378
原创 [linux]-ubuntu22.04使用parallel-rsync
导语:体验一下prsync工具(parallel-rsync)但是parallel-rsync没有–delete参数。
2024-04-12 11:49:17 282
原创 [linux]-ubuntu制作离线源
导语:服务器通过一个镜像安装的 但是安装离线依赖的时候会报错。后续发现是非离线服务器定时任务更新了部分软件包。制作docker及nvidia-container-toolkit的离线源。如果要关闭这个更新 需要删除这个文件。apt-down.sh脚本如下。
2024-04-12 11:47:56 124
原创 [kubernetes]-kube-green定时减少不必要的资源
导语:使用kube-green定时休眠deployment,测试玩一下。创建cert-manager。
2024-04-12 11:45:50 211
原创 [jenkins]-jenkins通过harbor凭证推送镜像
导语:在凭证中创建好harbor推送用户之后,通过jenkins推送镜像。无需在对应服务器上登录对应账号,提升安全性。
2024-04-12 11:44:35 377
原创 [linux]-docker为已经创建的容器增加新的挂载配置
导语:开发经常需要在已经创建好的容器里增加挂载路径,但不希望重新创建docker容器。采用如下方式增加挂载。
2024-04-12 11:42:26 317
原创 [问题已处理]-crontab增加source之后定时任务未成功执行
导语:定时任务中无法使用source ,增加了source /etc/profile之后定时任务后面的命令未执行。有被执行,但是source后面的命令未执行成功。这个是去掉source之后的结果 是能够运行的。去掉/etc/profile 直接跑,能够成功。
2024-04-12 11:38:50 151
原创 [问题已处理]-vmware虚拟机3060卡安装470以上的显卡驱动报错No devices were found
导语:在vmware exsi6.7.0上直通3060卡。安装470以上的显卡驱动报错No devices were found。(img-ogMEJMQn-1712893033247)]修改显卡驱动安装的命令 增加。
2024-04-12 11:37:19 267
原创 [linux]-通过shell删除Prometheus-Push-Gateway的group
导语:有需求需要通过shell删除Prometheus-Push-Gateway的group。
2024-04-12 11:35:44 221
原创 [linux]-gitlab定时同步2个不同仓库
导语:因同一个仓库下A项目需要public权限,但是group有限制,打算把这个仓库同步到其他项目B。不过master分支好像会有点问题。我这边没影响就没过多在意了。
2024-04-12 11:28:27 335
原创 [问题已处理]-虚拟机运行container报错libEGL warning- egl- failed to create dri2 screen
物理机相对较新,可能硬件对某些版本支持不太友好。调整基础镜像为nvidia/opengl:1.0-glvnd-devel-ubuntu22.04 测试就没问题了。导语:同一个镜像在22.04的宿主机上egl没问题,在16.04的宿主机上提示。原Dockerfile如下,基础镜像是ubuntu:22.04。
2024-04-12 10:26:18 146
原创 [kubernetes]-k8s执行定时任务时与实际时间差8小时
kubeadm 配置 (v1beta3) https://www.bookstack.cn/read/kubernetes-1.25-zh/9cae0960d626dce4.md。发现CronJob的执行时间是根据kube-controller-manager的时间来控制。导语:k8s执行定时任务时日志时间与实际时间差8小时。服务器时区和容器时区均没问题。需要修改kube-controller-manager的配置,增加挂载。kubeadm初始化的时候加上以下内容。k8s1.27版本可以添加。
2024-04-12 10:18:08 263
原创 [kubernetes]-单节点k8s迁移
导语:k8s是单节点单master的机器,且k8s api使用虚拟ip100.100.100.100。仅适用(使用虚拟IP 100.100.100.100为api通讯的ip) 的单机k8s,以供参考。2台机器安装etcdctl。被恢复的机器B上安装好k8s。提前同步好docker文件夹以及数据文件到指定路径。node节点IP更换,证书会自动重新签发。生成集群配置(需更换api ip)A为使用中的机器,B为纯净的机器。备份 kubernetes 目录。源机器A执行命令备份etcd。再次查看证书内的 ip。
2024-04-12 10:14:02 128
原创 [问题已处理]-服务器使用mount创建硬连接之后,磁盘空间异常,且比较卡
jenkins构建报错如上图所示,但是磁盘使用并没有超过50%。另外服务器也比较卡。导语:服务器使用mount创建硬连接之后,磁盘空间异常,且比较卡。查看/etc/mtab 有9w多个挂载信息。
2024-04-12 10:08:37 245
原创 [linux]-ubuntu在内核升级时自动更新显卡驱动
install update-nvidia /etc/kernel/postinst.d 是用来将 update-nvidia 脚本安装到 /etc/kernel/postinst.d 目录下,这是一个用于在每次内核更新后自动运行的目录。导语:显卡驱动在内核升级之后重启显卡就无法使用。结合了大佬的脚本,使显卡驱动能在内核升级之后同步更新。install命令和cp命令类似,只是自动把文件权限改成rwxr-xr-x 罢了。apt安装软件的时候可能会升级内核版本。内核升级后显卡驱动报错如下。
2024-04-11 14:10:06 196
原创 [问题已处理]-docker切换到containerd之后导入镜像报错failed to create snapshot- missing parent
导语:k8s运行时从docker切换到containerd时出现了镜像snapshot的报错。初衷是想切换的更快更平滑。所以在未切换前,用ctr命令先把镜像导入到containerd中,导入显示成功(此时还是docker运行时)。再做切换,切到containerd,但运行容器报错failed to create snapshot: missing parent。并且删除镜像后再次导入也不行。报错如下。
2024-04-11 10:59:03 418
原创 [kubernetes]-ingress服务没问题但80无法被访问
导语:ingress的80无法被访问。k8s-api使用的是100.100.100.100的虚拟ip。原ingress镜像和配置在本地不管是否使用hostnwork都可以访问,也不需要80端口被监听。现场即使调整成80被监听也无法访问。或者通过tcp-services暴露的端口也无法被访问到。直接改了对应ingress的svc 增加了类似如下配置externalIPs。可能是网络问题造成,也可能是安装了防病毒软件导致的。系统Ubuntu 16.04.6。
2024-04-11 09:44:22 134
原创 [问题已处理]-k8s显示flannel pod异常
CNI(Container Network Interface)是容器网络接口,它定义了容器运行时与容器网络插件之间的交互方式。因此,为了确保 CNI 网卡能够正常工作,必须配置适当的网关,并确保网络连接正常。同时,还需要注意配置正确的网络参数,如 IP 地址、子网掩码、路由表等,以确保容器能够正确地连接到网络并进行通信。网关是连接两个网络的设备或软件,它负责在不同网络之间进行数据包的转发和路由。没有网关,容器将无法与其他网络或主机进行通信,因此 CNI 网卡也无法正常工作。先删除重建flannel。
2024-04-10 14:06:16 296
原创 [kubernetes]-ubuntu22.04安装k8s1.28
导语:ubuntu22.04.1安装k8s1.28。修改containerd 配置文件。
2024-04-10 14:04:28 227
原创 [kubernetes]-helm 使用lookup判断namespace是否存在
测试 1.有namespace deepwise的时候是创建svc deepwise 2.没有deqpwise的时候创建svc deqpwise。测试下来发现dry-run或者output无法生成yaml内容,只有执行的时候才能验证。应该是默认参数是false的缘故。导语:希望能够在helm安装的时候判断namespace是否存在以便触发不同的操作。这样如果namespace存在helm就不会报错了。
2024-04-10 13:54:38 272
原创 [问题已处理]-linux隐藏ssh版本
导语:漏扫的时候经常需要升级ssh版本,想着能不能用最快的方式通过测试。仅适用于版本号扫描,扫算法的就不行了。同理修改/usr/bin/ssh。
2024-04-10 11:33:31 137
原创 [kubernetes]-k8s1.22下docker运行时swap无法使用的原因
过程是 kubelet->docker-shim->dockerd->containerd->containerd-shim->runc这个过程中因为kernel不支持swapaccount,导致dockerd强制将container级别的cgroup配置为-1container级别的行为在这个方案里,相对偶然,不受kubelet控制最终达成的cgroup效果:kubelet维护的pod级别swap是infinity,container级别是max。
2024-04-10 11:18:40 734
原创 [问题未处理]-镜像导入报错层有问题
测试通过同步docker的image和overlay2这个文件夹后重启docker实现镜像的同步。导语:镜像导入报错层有问题,不管是docker pull还是docker load都不行。但在报错的机器上测试有机器有异常时依旧不能同步成功。
2024-04-10 11:16:33 131
原创 [问题已处理]-k8s1.22无法使用swap
导语:同样的配置kubeadm-config.yaml配置分别在16.04和22.04上初始化1.22(使用docker)后,22.04 无法使用到swap。排查发现22.04需要在 /lib/systemd/system/kubelet.service 中的KUBELET_EXTRA_ARGS添加。备注一下:如果使用了特权模式,容器内会没有/sys/fs/cgroup/memory.swap.xxx这些文件,但是压是可以把swap压上去的。后可以试用swap,重启后也可以使用swap。
2024-04-10 11:07:12 147
原创 [问题已处理]-ingress报错csp
导语:ingress增加了Content-Security-Policy安全规则后前端报csp问题,部分图片没发访问。修改Content-Security-Policy成如下之后恢复正常。故障时增加的相关ingress配置如下。
2024-04-10 10:51:59 125
原创 [问题已处理]-docker build报错make :bin:sh Operation not permitted
导语:在构建docker image的过程中报错make /bin/sh Operation not permitted。最终通过查看install的最终命令如执行。完整Dockerfile如下。
2023-07-12 15:07:05 1076
原创 [golang]-gin支持跨域请求
gin的中间件可以添加到全局, 也可以添加到单个路由上。我之前做了routers分组,没有在main.go里添加,导致部分路由还是提示跨域。导语:记录一下golang gin支持跨域请求。中间件cors.go。添加到main.go。
2023-04-18 10:37:35 1001 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 435
原创 [kubernetes]-k8s调整镜像清理策略
导语:k8s在磁盘使用率到达80%之后开始清理镜像,导致服务重启后镜像被删除。记录一下大致调整的方法。
2023-04-18 10:35:10 1615
原创 [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 289
原创 [kubernetes]-dockerx构建多cpu架构的镜像
导语:偶尔有需求 镜像需要制作amd和arm的不同镜像。发现有buildx这个东西。配置多平台cpu指令集模拟机,让docker支持除当前处理器之外的其他cpu指令集。同时构建x86和arm的镜像。Dockerfile如下。
2023-04-18 10:31:29 259
原创 [linux]-promtail采集系统网络链接行为
导语:跟随大佬的脚本,采集服务器中应用程序的网络链接行为。最终效果是能看到具体某个程序的网络行为日志,展示频繁出现的ip地址。完成了很早之前就想做但没做到的事,记录一下。
2023-04-18 10:31:19 176
原创 [问题已处理]-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 382 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 1064
原创 [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 297
bizhub2200P.zip
2020-07-11
觅安教育zabbix4.0个人学习笔记.docx
2019-11-22
mysql的monyog工具,8.8.0版本
2019-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人