暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Kubernetes 运维小记:node 为系统保留最低资源

51reboot运维开发 2020-10-19
399


优化了下 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"
}


出处:http://dwz.date/cCQG




最新 k8s 直播课火热招生中 
扫码咨询>>>


整理 kubernetes 各种问题汇总

使用 Elastic 技术栈构建 Kubernetes 全栈监控(完结)

Kubernetes 与 Helm:使用同一个 Chart 部署多个应用

k8s 之调度器、预选策略及优选函数

运维精华



文章转载自51reboot运维开发,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论