2.2. 優先順位クラスを使用したパイプラインリソースクォータの指定
PriorityClass オブジェクトは、優先順位クラス名を、相対的な優先順位を示す整数値にマッピングします。値が大きいと、クラスの優先度が高くなります。優先順位クラスの作成後に、仕様に優先順位クラス名を指定する Pod を作成できます。さらに、Pod の優先順位に基づいて、Pod によるシステムリソースの消費を制御できます。
パイプラインにリソースクォータを指定することは、パイプライン実行が作成する Pod のサブセットのリソースクォータを設定することに似ています。以下の手順では、優先順位クラスに基づいてリソースクォータを指定して回避策の例を提供します。
手順
パイプラインの優先順位クラスを作成します。
例: パイプラインの優先順位クラス
Copy to Clipboard Copied! Toggle word wrap Toggle overflow パイプラインのリソースクォータを作成します。
例: パイプラインのリソースクォータ
Copy to Clipboard Copied! Toggle word wrap Toggle overflow パイプラインのリソースクォータの使用量を確認します。
例: パイプラインにおけるリソースクォータ使用状況の確認
oc describe quota
$ oc describe quotaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod が実行されていないため、クォータは使用されません。
パイプラインおよびタスクを作成します。
例: パイプラインの YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例: パイプラインのタスクの YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow パイプライン実行を作成して開始します。
例: パイプライン実行の YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記パイプライン実行は、エラー:
failed quota: <quota name> must specify cpu, memoryで失敗する可能性があります。このエラーを回避するには、namespace の制限範囲を設定します。ここで、ビルドプロセス中に作成された Pod に
LimitRangeオブジェクトのデフォルトが適用されます。制限範囲の設定の詳細は、関連情報 セクションの 制限範囲によるリソース消費の制限 を参照してください。
Pod の作成後に、パイプライン実行におけるリソースクォータの使用状況を確認します。
例: パイプラインにおけるリソースクォータ使用状況の確認
oc describe quota
$ oc describe quotaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この出力は、優先クラスごとにリソースクォータを指定することで、特定の優先クラスに属するすべての同時実行 Pod のリソースクォータをまとめて管理できることを示しています。