第9章 高度なビルドの実行

以下のセクションでは、ビルドリソースおよび最長期間の設定、ビルドのノードへの割り当て、チェーンビルド、ビルドのプルーニング、およびビルド実行ポリシーなどの高度なビルド操作について説明します。

9.1. ビルドリソースの設定

デフォルトでは、ビルドは、メモリーや CPU など、バインドされていないリソースを使用して Pod により完了されます。これらのリソースは制限できます。

手順

リソースの使用を制限する方法は 2 つあります。

  • プロジェクトのデフォルトコンテナー制限でリソース制限を指定して、リソースを制限します。
  • リソースの制限をビルド設定の一部として指定し、リソースの使用を制限します。** 以下の例では、resourcescpu、および memory パラメーターはそれぞれオプションです。

    apiVersion: "v1"
    kind: "BuildConfig"
    metadata:
      name: "sample-build"
    spec:
      resources:
        limits:
          cpu: "100m" 1
          memory: "256Mi" 2
    1
    cpu は CPU のユニットで、100m は 0.1 CPU ユニット (100 * 1e-3) を表します。
    2
    memory はバイト単位です。 256Mi は 268435456 バイトを表します (256 * 2 ^ 20)。

    ただし、クォータがプロジェクトに定義されている場合には、以下の 2 つの項目のいずれかが必要です。

    • 明示的な requests で設定した resources セクション:

      resources:
        requests: 1
          cpu: "100m"
          memory: "256Mi"
      1
      requests オブジェクトは、クォータ内のリソース一覧に対応するリソース一覧を含みます。
    • プロジェクトに定義される制限範囲。 LimitRange オブジェクトからのデフォルト値がビルドプロセス時に作成される Pod に適用されます。

      適用されない場合は、クォータ基準を満たさないために失敗したというメッセージが出され、ビルド Pod の作成は失敗します。