cpu_manage_state:

问题:在k8s部署的机器上,当机器扩容后,kubelet不可用

解决方案:删掉/opt/varlib/kubelet目录下cpu_manager_state文件 然后monit restart kubelet(或者systemctl restart kubelet) 就可以了

cd   /var/lib/kubelet/
cat  cpu_manager_state 
rm -rf  cpu_manager_state
systemctl restart kubelet
systemctl status kubelet

cpu_manager_state文件如下:

Kubernetes 从1.8开始提供了CPU Manager特性来支持cpuset的能力,CPU Manager支持两种Policy,分别为none和static:

  • none: 为cpu manager的默认值,相当于没有启用cpuset的能力。

  • static: 设置--cpu-manager-policy=static来启用,kubelet将在Container启动前分配绑定的cpu set,分配时还会考虑cpu topology来提升cpu affinity。

CPU管理器在运行时不支持CPU的离线和上线。此外,如果节点上的一组在线CPU发生变化,则必须清空该节点,并通过删除kubelet根目录中的状态文件cpu_manager_state手动重置CPU管理器。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐