起因是通过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 ...
起因是我发现我们客户在做GPU基准测试的时候,使用的是OrionX驱动科技的方案,并且它是优于原生的k8s调度方案的,那么有没有开源版本的类似的组件,可以让我来进行测试呢?
有的兄弟有的
GPU 虚拟化方案调研
方案
类型
核心机制
优劣
趋动科技 OrionX
商业
通过环境变量控制 GPU 分配
功能完整但要付费,厂商锁定
HAMi
开源 CNCF 孵化
拦截 CUDA API,显存限额 + 算力比例
OrionX 的开源替代,社区活跃
NVIDIA MPS
原生免费
多进程真正并发共享 GPU
真共享,但没有显存隔离,一个进程能吃满显存
NVIDIA Time...
机制解析在k8s中,DNS解析有两套,一套是k8s集群自带的dns解析,由CoreDNS组件维护,一套是节点自带的DNS系统(即/etc/resolve.conf那一套)
这个跟网络插件无关,无论使用什么CNI k8s都会部署CoreDNS
通过dnsPolicy参数进行控制,这个参数在pod以及各种控制器的spac下都可以找到
dnsPolicy
效果
ClusterFirst(默认)
先查 CoreDNS,查不到再转发上游
Default
用 Node 的 DNS,不走 CoreDNS
None
完全自定义,需要手动指定 dnsConfig
...
业务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...
很多集群规化的时候没规划好,kubelet所在分区总是会因为镜像太多,导致触发85%阈值,也就是会启diskpresure污点,导致pod被驱逐
所以写个脚本放进daemonset里自动定时清理节点上的脚本
pod需要挂载到node节点上,以便可以操作节点上的命令来操作磁盘
存在多种架构的CPU,需要打额外架构的镜像
思路一:脚本挂载节点nsenter1234567891011121314使用nsenter命令本意是进入命名空间,但是可以进入到PID为1的进程也就是initV或者systemd可以挂载所有命名空间,也就是成为这个节点本身"Linux 目前有 8 种命名空间(...