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

增加配置后的内存情况

相关推荐
牛奶咖啡1332 分钟前
k8s容器编排技术实践——OpenEuler安装部署k8s
kubernetes·信创·containerd配置加速器·openeuler安装k8s·k8s的常见安装方式·彻底关闭swap·工作节点使用kubectl
老码观察1 小时前
K8s 容器化部署的宿主机资源规划的踩坑实录
docker·容器·kubernetes
步步为营DotNet1 小时前
深入.NET 11:.NET Aspire 在云原生资源编排与管理的卓越实践
云原生·.net
我是谁??1 小时前
【6】基于 Docker + YOLOv8 的模型部署实战(GTX1660S + Ubuntu22.04)
yolo·docker·容器
密瓜智能1 小时前
HAMi 正式接入 Kubernetes DRA:下一代 GPU 资源模型实践指南
云原生·容器·kubernetes
魔极客1 小时前
1panel面析中Ollama Docker配置错误解析与修复
运维·docker·容器
JAVA社区1 小时前
Java进阶全套教程(八)—— Docker超详细实战详解
java·运维·开发语言·docker·容器·面试·职场和发展
Elastic 中国社区官方博客1 小时前
用于调试 LLM 延迟、成本和 GPU 饱和度的 ES|QL 查询
大数据·人工智能·elasticsearch·搜索引擎·ai·云原生·serverless
我是谁??1 小时前
【5】基于 Docker + YOLOv8 环境实现模型量化(GTX1660S + Ubuntu22.04)
yolo·docker·容器
我是谁??2 小时前
【4】基于 Docker + YOLOv8 环境将模型转换为 ONNX(GTX1660S + Ubuntu22.04)
yolo·docker·容器