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

增加配置后的内存情况

相关推荐
想进部的张同学7 小时前
RK3588开发板安装GStreamer硬件加速插件完整指南 成功版本(docker)
运维·docker·容器·rkmpp
涟漪海洋7 小时前
docker启动容器覆盖镜像中的命令
运维·docker·容器
2501_948120157 小时前
云原生应用的安全开发与防护策略
安全·云原生
ZIXEL子虔科技7 小时前
从本地到云端:三维 CAD 国产化的下一步在哪里
ai·云原生
jiayong239 小时前
Kubernetes 网络与服务发现面试题详解
网络·kubernetes·服务发现
噎住佩奇9 小时前
k8s创建测试Pod的流程
云原生·容器·kubernetes
ζั͡山 ั͡有扶苏 ั͡✾9 小时前
从Rancher崩溃中恢复Kubernetes集群访问权限:完整kubeconfig恢复指南
容器·kubernetes·rancher
無限神樂10 小时前
docker compose简介
运维·docker·容器
Lim小刘10 小时前
深度实践:从“手动排障”到“对话诊断”,构建基于 GenAI 的 K8s 智能运维平台
云原生·容器·kubernetes
rustfs10 小时前
如何将 Minio DirectPV 配置为 RustFS 存储后端?
分布式·docker·云原生·rust