搜索中...
🔍

未找到相关结果

Akemi

Akemi

etcd更换磁盘
起因是通过Grafana仪表盘查看到集群etcd频繁进行出现切换的情况changes(etcd_server_leader_changes_seen_total{cluster=~“$cluster”}[1d])怀疑是磁盘性能不足导致etcd频繁切换主节点所以把磁盘从机械换成SSD,etcd挂载的是一块单独的分区,隶属于vgs k8s的lv etcd 12345678910111213141516171819当前使用的是/dev/mapper/k8s-etcd即vdb的分卷,现在准备改成vdclsblkNAME ...
HAMi GPU测试框架
起因是我发现我们客户在做GPU基准测试的时候,使用的是OrionX驱动科技的方案,并且它是优于原生的k8s调度方案的,那么有没有开源版本的类似的组件,可以让我来进行测试呢? 有的兄弟有的 GPU 虚拟化方案调研 方案 类型 核心机制 优劣 趋动科技 OrionX 商业 通过环境变量控制 GPU 分配 功能完整但要付费,厂商锁定 HAMi 开源 CNCF 孵化 拦截 CUDA API,显存限额 + 算力比例 OrionX 的开源替代,社区活跃 NVIDIA MPS 原生免费 多进程真正并发共享 GPU 真共享,但没有显存隔离,一个进程能吃满显存 NVIDIA Time...
K8s DNS解析机制与hostAlias/CoreDNS自定义域名解析
机制解析在k8s中,DNS解析有两套,一套是k8s集群自带的dns解析,由CoreDNS组件维护,一套是节点自带的DNS系统(即/etc/resolve.conf那一套) 这个跟网络插件无关,无论使用什么CNI k8s都会部署CoreDNS 通过dnsPolicy参数进行控制,这个参数在pod以及各种控制器的spac下都可以找到 dnsPolicy 效果 ClusterFirst(默认) 先查 CoreDNS,查不到再转发上游 Default 用 Node 的 DNS,不走 CoreDNS None 完全自定义,需要手动指定 dnsConfig ...
k8s节点无法拉取pause镜像
业务describe为无法下载pause镜像 原因① crictl images发现镜像pause确实已经被清理了 crictl rmi --prune 命令crictl的老版本存在bug,会无视使用pause镜像的容器,删掉pause镜像 原因② 但如果只是因为crictl删了镜像,其实无所谓,因为k8s自己会去拉取镜像仓库中的pause镜像。但如果一个节点本身不具备拉取镜像的能力,那它就没办法从这个故障中自我恢复了 crictl pull k8s-deploy/pause:3.9 报错nerdctl pull k8s-deploy/pause:3.9 拉取成功,说明镜像存在,但是k...
自动清理镜像思路优化、amd/arm双镜像
很多集群规化的时候没规划好,kubelet所在分区总是会因为镜像太多,导致触发85%阈值,也就是会启diskpresure污点,导致pod被驱逐 所以写个脚本放进daemonset里自动定时清理节点上的脚本 pod需要挂载到node节点上,以便可以操作节点上的命令来操作磁盘 存在多种架构的CPU,需要打额外架构的镜像 思路一:脚本挂载节点nsenter1234567891011121314使用nsenter命令本意是进入命名空间,但是可以进入到PID为1的进程也就是initV或者systemd可以挂载所有命名空间,也就是成为这个节点本身"Linux 目前有 8 种命名空间(...