設定檔適用性:級別 1
ResourceQuotas 是對整個命名空間的資源使用總量施加的限制,例如對總 CPU 和記憶體使用量的限制。如果使用者嘗試建立違反 LimitRange 或 ResourceQuota
政策的 Pod,則 Pod 建立將失敗。
稽核
執行以下命令並檢查 ResourceQuota 政策:
kubectl get resourcequotas --all-namespaces
新增 ResourceQuota 政策以限制資源使用。
補救
為每個命名空間創建一個具有記憶體和CPU配額的ResourceQuota策略。
通過將 YAML 文件應用於命名空間或在 Pods 的配置文件中指定需求,可以創建 ResourceQuota 對象來限制命名空間內的資源總使用量。詳細資訊,請參閱
Kubernetes 文檔。
命名空間的配置檔案:
apiVersion: v1 kind: ResourceQuota metadata: name: example-cpu-mem-resourcequota spec: hard: requests.cpu: “1” requests.memory: 1Gi limits.cpu: “2” limits.memory: 2Gi
此資源配額可應用於:
kubectl apply -f example-cpu-mem-resourcequota.yaml --namespace=<insert-namespace-here>
此資源配額對選定的命名空間施加以下限制。每個容器必須具備以下條件:
- 記憶體請求、記憶體限制、CPU請求和CPU限制
- 所有容器的總內存請求不應超過 1 GB
- 所有容器的總記憶體限制不應超過 2 GB
- 所有容器的總 CPU 請求不應超過 1 個 CPU
- 所有容器的總 CPU 限制不應超過 2 個 CPU