Kubernetes 运维小记:node 为系统保留最低资源
今天优化了 k8s 生产集群的部署 , 为系统(linux 与 k8s系统pod)保留最低资源 , 以免应用 pod 负载高拖垮整个节点 。
配置方法是手动给每个节点的 kubelet 添加配置文件 /etc/default/kubelet, 并在其中添加如下的配置:
UBELET_EXTRA_ARGS="--kube-reserved=cpu=300m,memory=300Mi,ephemeral-storage=1Gi --system-reserved=cpu=200m,memory=200Mi,ephemeral-storage=1Gi --eviction-hard=memory.available<500Mi,nodefs.available<10%"
通过 UBELET_EXTRA_ARGS 环境变量 , 添加了 kube-reserved, system-reserved, eviction-hard 这3个配置 。
重启 kubelet 使配置生效 。
systemctl restart kubelet
节点使用的是4核8G的服务器 , 添加配置前节点的 allocatable 情况:
$ kubectl get node k8s-node10 -o json | jq '.status.allocatable'{"cpu": "4","ephemeral-storage": "75974665296","hugepages-1Gi": "0","hugepages-2Mi": "0","memory": "8065516Ki","pods": "110"}
添加配置后节点的 allocatable 情况:
$ kubectl get node k8s-node10 -o json | jq '.status.allocatable'{"cpu": "3500m","ephemeral-storage": "73827181648","hugepages-1Gi": "0","hugepages-2Mi": "0","memory": "7143916Ki","pods": "110"}
【Kubernetes 运维小记:node 为系统保留最低资源】转载自dudu出处:
推荐阅读
- 华云大咖说 云计算云运维浅谈
- 能装进口袋的工程师运维笔记本:壹号本壹号工程师PC A1
- 国家电网自助终端集成向日葵,远程运维安全高效
- 星鸟公司建立数据运维监控与维护体系 确保数据准确性
- 上海道客:工业大数据在生产设备智能运维领域的应用
- 嘘!偷窥鹅厂运维专家,让Linux内核奔跑起来不得不说的秘密
- 使用Kubernetes三年,我们从中学到了什么?
- 自动化运维之SaltStack,安装部署和使用
- 自动化运维之SaltStack,架构分析和总结
- 上海人比你想象的更爱在线学习 Java、网络运维、汽车维修成热门课程