K8s 限制节点内存使用率,内存不足时自动驱逐POD

K8s 限制节点内存使用率,内存不足时自动驱逐POD

限制前内存如下

bash 复制代码
# 1. 停止 kubelet
sudo systemctl stop kubelet

# 2. 备份当前配置
sudo cp /var/lib/kubelet/config.yaml /var/lib/kubelet/config.yaml.backup

# 3. 创建或编辑配置文件
sudo tee /var/lib/kubelet/config.yaml << 'EOF'
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
address: 0.0.0.0
port: 10250
clusterDomain: cluster.local

# ========== 内存保护核心配置 ==========
evictionHard:
  memory.available: "500Mi"        # 可用内存低于500MB时立即驱逐
  nodefs.available: "10%"          # 磁盘低于10%
  imagefs.available: "15%"         # 镜像存储低于15%
  nodefs.inodesFree: "5%"          # inode低于5%

evictionSoft:
  memory.available: "1Gi"          # 可用内存低于1GB时触发警告
  nodefs.available: "15%"          # 磁盘低于15%

evictionSoftGracePeriod:
  memory.available: "2m"           # 内存警告后2分钟才驱逐
  nodefs.available: "2m"

evictionMaxPodGracePeriod: 60      # Pod最长60秒优雅退出
evictionMinimumReclaim:
  memory.available: "300Mi"        # 每次至少回收300MB内存
  nodefs.available: "500Mi"        # 每次至少回收500MB磁盘

# ========== 预留配置 ==========
systemReserved:
  memory: "1.5Gi"                  # 为系统进程预留1.5GB
  cpu: "500m"
  ephemeral-storage: "5Gi"

kubeReserved:
  memory: "1Gi"                    # 为K8s组件预留1GB
  cpu: "250m"
  ephemeral-storage: "2Gi"

# ========== 其他重要配置 ==========
maxPods: 110                       # 每节点最多Pod数
podPidsLimit: 4096                 # 限制Pod的PID数量
cgroupDriver: systemd
failSwapOn: true
serializeImagePulls: true
EOF

# 4. 重启 kubelet
sudo systemctl daemon-reload
sudo systemctl start kubelet

# 5. 检查状态
sudo systemctl status kubelet

4. 重启 kubelet

sudo systemctl daemon-reload

sudo systemctl start kubelet

5. 检查状态

sudo systemctl status kubelet

增加配置后的内存情况

相关推荐
问简4 小时前
docker 镜像相关
运维·docker·容器
Benszen5 小时前
Docker容器化技术实战指南
运维·docker·容器
lin_dec+5 小时前
Serverless:零成本按需计算的未来
云原生·serverless
Hommy885 小时前
【开源剪映小助手】Docker 部署
docker·容器·开源·github·aigc
斯普信云原生组7 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
喵了几个咪7 小时前
如何在 Superset Docker 容器中安装 MySQL 驱动
mysql·docker·容器·superset
工具罗某人7 小时前
docker compose部署kafka集群搭建
docker·容器·kafka
迷藏4948 小时前
**eBPF实战进阶:从零构建网络流量监控与过滤系统**在现代云原生架构中,**网络可观测性**和**安全隔离**已成为
java·网络·python·云原生·架构
刘~浪地球8 小时前
架构设计--事件驱动架构设计与实现(05)
云原生·系统架构·云计算
鬼先生_sir8 小时前
Zookeeper:从入门到精通
分布式·zookeeper·云原生