ubuntu

Kubernetes在Ubuntu上的资源限制怎么设置

小樊
38
2025-11-17 00:15:20
栏目: 智能运维

Kubernetes 在 Ubuntu 上的资源限制设置指南

一 核心概念与生效机制

二 在 Pod 或容器级别设置

apiVersion: v1
kind: Pod
metadata:
  name: app
spec:
  containers:
  - name: app
    image: nginx:1.25
    resources:
      requests:
        cpu: "250m"
        memory: "128Mi"
      limits:
        cpu: "500m"
        memory: "256Mi"

三 命名空间级别统一策略

apiVersion: v1
kind: LimitRange
metadata:
  name: default-mem-cpu
  namespace: dev
spec:
  limits:
  - type: Container
    default:
      cpu: "500m"
      memory: "512Mi"
    defaultRequest:
      cpu: "100m"
      memory: "128Mi"
    min:
      cpu: "100m"
      memory: "64Mi"
    max:
      cpu: "2"
      memory: "1Gi"
apiVersion: v1
kind: ResourceQuota
metadata:
  name: compute-quota
  namespace: dev
spec:
  hard:
    pods: "10"
    requests.cpu: "4"
    requests.memory: "8Gi"
    limits.cpu: "8"
    limits.memory: "16Gi"

四 节点级别资源保护与驱逐

--system-reserved=cpu=500m,memory=1Gi
--kube-reserved=cpu=500m,memory=1Gi
--eviction-hard=memory.available<500Mi,nodefs.available<10%,imagefs.available<15%
--eviction-minimum-reclaim=memory.available=0Mi,nodefs.available=500Mi,imagefs.available=2Gi
--node-status-update-frequency=10s
--eviction-pressure-transition-period=20s
sudo systemctl daemon-reload
sudo systemctl restart kubelet

五 验证与最佳实践

0
看了该问题的人还看了