我是靠谱客的博主 美丽小伙,最近开发中收集的这篇文章主要介绍K8S 容器绑核,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近想学习在K8S环境给容器绑定CPU,曾经参考过一篇帖子,绑核成功,但第二次操作就莫名其妙再没每成功过。

又找了几篇帖子,而且还把老的v1.17.4卸了,重装一个v1.20.15,再次试验。

原来的操作

1,停止kubelet(未进行节点驱逐的操作)

2,修改config.yaml (/var/lib/kubelet/config.yaml)添加 cpuManagerPolicy: static

3,删除cpu_manager_state

4,systemctl restart kubelet 就这里有问题,发现kubelet无法成功重启,所以并不能生成新的cpu_manager_state文件。

新操作

1,修改 /lib/systemd/system/kubelet.service.d/10-kubeadm.conf
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS --feature-gates=CPUManager=true --cpu-manager-policy=static --kube-reserved=cpu=1
2,删除 /var/lib/kubelet/cpu_manager_state状态文件
3,重载systemctl daemon-reload
4,重启systemctl restrart kubelet
容器不用重新部署,原本是Pod 属于 Guaranteed QoS 类型的会自动绑定CPU.

5,进入容器查询绑核情况。
kubectl exec -it POD -c container -n NS bash

taskset -cp 1

总结一下:

上面两种方法,第一种没有systemctl daemon-reload,会不会这个导致kubelet没有重启成功。嗯,下次再试试。

最后

以上就是美丽小伙为你收集整理的K8S 容器绑核的全部内容,希望文章能够帮你解决K8S 容器绑核所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部