ビュー:
プロファイル適用性: レベル1
ResourceQuotasは、総CPUおよびメモリ使用量に制限を設けるなど、名前空間全体のリソース使用量に対して課される制限です。ユーザがLimitRangeまたはResourceQuotaポリシーに違反するPodを作成しようとすると、Podの作成は失敗します。

監査

次のコマンドを実行して、ResourceQuotaポリシーを確認してください:
kubectl get resourcequotas --all-namespaces
リソース使用量を制限するためにResourceQuotaポリシーを追加します。

修復

各ネームスペースごとにメモリおよびCPUのクォータを設定するResourceQuotaポリシーを作成します。
ResourceQuotaオブジェクトは、YAMLファイルを名前空間に適用するか、Podの構成ファイルに要件を指定することで、名前空間内のリソース使用量の合計を制限するために作成されます。詳細については、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
このResourceQuotaは次のように適用できます:
kubectl apply -f example-cpu-mem-resourcequota.yaml --namespace=<insert-namespace-here>
このResourceQuotaは、選択したネームスペースに次の制約を課します。すべてのコンテナは次の要件を満たす必要があります:
  • メモリリクエスト、メモリ制限、CPUリクエスト、CPU制限
  • すべてのコンテナのメモリ要求の合計は1 GBを超えてはなりません
  • すべてのコンテナの合計メモリ制限は2GBを超えてはなりません
  • すべてのコンテナの合計CPUリクエストは1 CPUを超えてはなりません
  • すべてのコンテナの合計CPU制限は2CPUを超えてはなりません