9.2.8. デプロイメントリソースの設定
デプロイメントは、デプロイメント Pod で実行されます。デフォルトでは、デプロイメント Pod は、スケジュールされている計算ノードで無制限のノードリソースを消費します。ほとんどの場合、デプロイメント Pod はリソースの消費量が少なく、実行時間が短いため、バインドされていないリソースの消費が原因で問題が発生することはありません。プロジェクトでデフォルトのコンテナー制限が指定されている場合に、デプロイメント Pod や他の Pod が使用するリソースは、それらの制限にカウントされます。
デプロイメント設定のデプロイメントストラテジーで、デプロイメント Pod が使用するリソースを制限できます。デプロイメント Pod のリソース制限は、Recreate (再作成)、Rolling (ローリング) または Custom (カスタム) のデプロイメントストラテジーで使用できます。
エフェメラルストレージを制限する機能は、管理者が エフェメラルストレージ テクノロジープレビュー機能を有効にしている場合にのみ使用できます。この機能はデフォルトで無効になっています。
以下の例では、resources
、cpu
、memory
、および ephemeral-storage
はそれぞれオプションです。
type: "Recreate" resources: limits: cpu: "100m" 1 memory: "256Mi" 2 ephemeral-storage: "1Gi" 3
- 1
cpu
は CPU のユニットで、100m
は 0.1 CPU ユニット (100 * 1e-3) を表します。- 2
memory
はバイト単位です。256Mi
は 268435456 バイトを表します (256 * 2 ^ 20)。- 3
ephemeral-storage
はバイト単位です。1Gi
は 1073741824 バイト (2 ^ 30) を表します。ephemeral-storage
パラメーターは、管理者がエフェメラルストレージテクノロジープレビュー機能を有効にしている場合にのみ使用できます。
ただし、クォータがプロジェクトに定義されている場合には、以下の 2 つの項目のいずれかが必要です。
明示的な
requests
で設定したresources
セクション:type: "Recreate" resources: requests: 1 cpu: "100m" memory: "256Mi" ephemeral-storage: "1Gi"
- 1
requests
オブジェクトは、クォータ内のリソース一覧に対応するリソース一覧を含みます。
コンピュートリソースや、要求と制限の相違点についての詳しい情報は、クォータと制限の範囲 を参照してください。
-
プロジェクトで定義される 制限の範囲。
LimitRange
オブジェクトのデフォルト値がデプロイメントプロセス時に作成される Pod に適用されます。
適用されない場合は、クォータ基準を満たさないために失敗したというメッセージが出され、デプロイメントの Pod 作成は失敗します。