当前位置: 首页 > article >正文

k8s1.30 监控并限制节点使用资源(kubelet+metrics-server)

新集群容器突然全挂了,一看是node节点无法登录,只有一台还在苟颜残喘,内存和cpu已经到达极限。为避免出现类似情况,需要为系统和kubelet保留一定的cpu和内存资源。
处理思路如下
1、无法登录hang死的机器先关机重启
2、当前节点都配置污点,这样重启以后节点也不会接受任何调度
3、重启后配置kubelet参数
4、取消污点

一、节点资源限制

1.1、配置污点

kubectl taint nodes k8s-node-c31 memory=NotReady:NoSchedule-
kubectl taint nodes k8s-node-c32 memory=NotReady:NoSchedule-

1.2、查看污点

# 查看所有节点的污点
kubectl get nodes -o custom-columns=NAME:.metadata.name,TAINTS:.spec.taints
# 或者查看特定节点的污点
kubectl describe node k8s-node-c31 | grep -A5 Taints

1.3、kubelet配置资源保留参数

/var/lib/kubelet/config.yaml 添加到最尾部

kubeReserved:
  memory: "1Gi"
  cpu: "500m"
systemReserved:
  memory: "1Gi"
  cpu: "500m"
evictionHard:
  memory.available: "500Mi"
  nodefs.available: "10%"

添加后重启服务systemctl restart kubelet

1.4、节点恢复后移除污点

kubectl taint nodes k8s-node-c31 memory=NotReady:NoSchedule-
kubectl taint nodes k8s-node-c32 memory=NotReady:NoSchedule-

最终确认服务的启动状态,节点的调度也会随之变均衡
如果无法使用kubectl top nodes命令,就需要安装metrics-server

二、安装metrics-server监控节点状态

2.1、首先下载配置文件

curl -L https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml > metrics-server.yaml

2.2、修改deployment参数

不添加的话会出现tls错误,不多考虑修复他,直接用http吧

# 在 Deployment 部分的 args 中添加:
- --kubelet-insecure-tls

http://www.kler.cn/a/576569.html

相关文章:

  • 深入解析网络协议:从OSI七层模型到HTTP与TCP/IP的关系
  • 使用PHP实现异步编程:挑战与解决方案
  • DeepSeek-R1:使用KTransformers实现高效部署指南
  • 面试java做了一道逻辑题,人麻了
  • 零售交易流程相关知识(top-down拆解)
  • React Native国际化实践(react-i18next)
  • Redis数据结构深度解析:从String到Stream的奇幻之旅(一)
  • 【从零开始学习计算机科学】数字逻辑(八)时序逻辑电路
  • 解决VSCode鼠标光标指针消失
  • 虚幻基础:蓝图接口
  • 分布式事务的理解和解决方案
  • 机器学习之无监督学习
  • C# is
  • 08react基础-react原理
  • 【K8S系列】深入探究Kubernetes中查看日志的方法
  • 中原银行:从“小机+传统数据库”升级为“OceanBase+通用服务器”,30 +系统成功上线|OceanBase DB大咖说(十五)
  • 【Linux】基础IO_文件系统基础
  • 交大智邦后端Java笔试题
  • Linux驱动学习笔记之I2C通信(观b站讯为电子有感)
  • HOW - React 如何在在浏览器绘制之前同步执行 - useLayoutEffect