第4章 Build [config.openshift.io/v1]
- Description
- ビルドは、クラスター全体の OpenShift ビルドの動作を設定します。これには、BuildConfig オブジェクトでオーバーライドできるデフォルト設定と、すべてのビルドに適用されるオーバーライドが含まれます。正規名はクラスターです。互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。
- タイプ
-
object
- 必須
-
spec
-
4.1. 仕様
プロパティー | タイプ | 説明 |
---|---|---|
|
| APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。 |
|
| kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
| 標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。 | |
|
| spec ビルドコントローラー設定のユーザーが設定できる値を保持します。 |
4.1.1. .spec
- Description
- spec ビルドコントローラー設定のユーザーが設定できる値を保持します。
- タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
|
| AdditionalTrustedCA は、ビルド中のイメージのプッシュとプルで信頼される必要がある追加の CA を含む ConfigMap への参照です。この設定マップの namespace は openshift-config です。非推奨: イメージのプルおよびプッシュ用の追加の CA は、代わりに image.config.openshift.io/cluster に設定する必要があります。 |
|
| buildDefaults ビルドのデフォルト情報を制御します。 |
|
| buildOverrides ビルドの上書き設定を制御します。 |
4.1.2. .spec.additionalTrustedCA
- Description
- AdditionalTrustedCA は、ビルド中のイメージのプッシュとプルで信頼される必要がある追加の CA を含む ConfigMap への参照です。この設定マップの namespace は openshift-config です。非推奨: イメージのプルおよびプッシュ用の追加の CA は、代わりに image.config.openshift.io/cluster に設定する必要があります。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は、参照される設定マップの metadata.name です。 |
4.1.3. .spec.buildDefaults
- Description
- buildDefaults ビルドのデフォルト情報を制御します。
- タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
|
|
DefaultProxy には、イメージのプル/プッシュやソースのダウンロードなど、すべてのビルド操作のデフォルトのプロキシー設定が含まれています。ビルド設定の戦略で |
|
| Env は、指定された変数がビルドに存在しない場合にビルドに適用されるデフォルトの環境変数のセットです。 |
|
| EnvVar は、コンテナーに存在する環境変数を表します。 |
|
| gitProxy Git 操作のプロキシー設定のみが含まれます。設定されている場合、これは gitclone などのすべての git コマンドのプロキシー設定を上書きします。ここで設定されていない値は、DefaultProxy から継承されます。 |
|
| ImageLabels は、結果のイメージに適用される Docker ラベルのリストです。ユーザーは、Build/BuildConfig で同じ名前のラベルを指定することにより、デフォルトのラベルを上書きできます。 |
|
| |
|
| resources ビルドを実行するためのリソース要件を定義します。 |
4.1.4. .spec.buildDefaults.defaultProxy
- Description
-
DefaultProxy には、イメージのプル/プッシュやソースのダウンロードなど、すべてのビルド操作のデフォルトのプロキシー設定が含まれています。ビルド設定の戦略で
HTTP_PROXY
、HTTPS_PROXY
、およびNO_PROXY
環境変数を設定することにより、値を上書きできます。 - タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
|
| httpProxy は、HTTP リクエストのプロキシーの URL です。空は未設定を意味し、env 変数にはなりません。 |
|
| httpsProxy は、HTTPS リクエストのプロキシーの URL です。空は未設定を意味し、env 変数にはなりません。 |
|
| noProxy は、プロキシーを使用してはならないホスト名や CIDR、IP のコンマ区切りのリストです。空は未設定を意味し、env 変数にはなりません。 |
|
| readinessEndpoints は、プロキシーの準備ができていることを確認するために使用されるエンドポイントのリストです。 |
|
| trustedCA は、CA 証明書バンドルを含む ConfigMap への参照です。trustedCA フィールドは、プロキシーバリデーターによってのみ使用される必要があります。バリデーターは、必要なキー ca-bundle.crt から証明書バンドルを読み取り、それをシステムのデフォルトのトラストバンドルとマージし、マージされたトラストバンドルを trusted-ca-bundle という名前の ConfigMap に書き込みます。openshift-config-managed" 名前空間。プロキシー接続を期待するクライアントは、プロキシーへのすべての HTTPS 要求に trusted-ca-bundle を使用する必要があり、非プロキシー HTTPS 要求にも trusted-ca-bundle を使用できます。trustedCA が参照する ConfigMap のネームスペースは openshift-config です。ConfigMap の例 (yaml) は次のとおりです。apiVersion:v1 種類:ConfigMap メタデータ: 名前:user-ca-bundle 名前空間:openshift-config データ:ca-bundle.crt:| -----BEGINCERTIFICATE----- カスタム CA 証明書バンドル。----- 証明書の終了 ----- |
4.1.5. .spec.buildDefaults.defaultProxy.trustedCA
- Description
- trustedCA は、CA 証明書バンドルを含む ConfigMap への参照です。trustedCA フィールドは、プロキシーバリデーターによってのみ使用される必要があります。バリデーターは、必要なキー ca-bundle.crt から証明書バンドルを読み取り、それをシステムのデフォルトのトラストバンドルとマージし、マージされたトラストバンドルを trusted-ca-bundle という名前の ConfigMap に書き込みます。openshift-config-managed" 名前空間。プロキシー接続を期待するクライアントは、プロキシーへのすべての HTTPS 要求に trusted-ca-bundle を使用する必要があり、非プロキシー HTTPS 要求にも trusted-ca-bundle を使用できます。trustedCA が参照する ConfigMap のネームスペースは openshift-config です。ConfigMap (yaml): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: \| -----BEGIN CERTIFICATE----- カスタム CA 証明書バンドル -----END CERTIFICATE----- の例を以下に示します。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は、参照される設定マップの metadata.name です。 |
4.1.6. .spec.buildDefaults.env
- Description
- Env は、指定された変数がビルドに存在しない場合にビルドに適用されるデフォルトの環境変数のセットです。
- タイプ
-
array
4.1.7. .spec.buildDefaults.env[]
- Description
- EnvVar は、コンテナーに存在する環境変数を表します。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| 環境変数の名前。C_IDENTIFIER でなければなりません。 |
|
| 変数参照 $(VAR_NAME) は、コンテナー内で以前に定義された環境変数と任意のサービス環境変数を使用してデプロイメントされます。変数を解決できない場合、入力文字列の参照は変更されません。Double は単一の $ に削減されます。これにより、$(VAR_NAME) 構文をエスケープできます。つまり、"(VAR_NAME)" は文字列リテラル "$(VAR_NAME)" を生成します。変数が存在するかどうかにかかわらず、エスケープされた参照は拡張されません。デフォルトは "" です。 |
|
| 環境変数の値のソースです。値が空でない場合は使用できません。 |
4.1.8. .spec.buildDefaults.env[].valueFrom
- Description
- 環境変数の値のソースです。値が空でない場合は使用できません。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| ConfigMap のキーを選択します。 |
|
|
Pod のフィールドを選択します:metadata.name、metadata.namespace、 |
|
| コンテナーのリソースを選択します。現在、リソースの制限とリクエスト (limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory、requests.ephemeral-storage) のみがサポートされています。 |
|
| Pod の名前空間でシークレットのキーを選択します |
4.1.9. .spec.buildDefaults.env[].valueFrom.configMapKeyRef
- Description
- ConfigMap のキーを選択します。
- タイプ
-
object
- 必須
-
key
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| 選択するキー。 |
|
| 参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: その他の便利なルール度を追加。apiVersion、kind、uid |
|
| ConfigMap かそのキーを定義する必要があるかどうかを指定します。 |
4.1.10. .spec.buildDefaults.env[].valueFrom.fieldRef
- Description
-
Pod のフィールドを選択します:metadata.name、metadata.namespace、
metadata.labels '<KEY>'
、metadata.annotations '<KEY>'
、spec.nodeName、spec.serviceAccountName、status.hostIP、status.podIP、status.podIPs。 - タイプ
-
object
- 必須
-
fieldPath
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| FieldPath が記述されているスキーマのバージョン。デフォルトは "v1" です。 |
|
| 指定された API バージョンで選択するフィールドのパス。 |
4.1.11. .spec.buildDefaults.env[].valueFrom.resourceFieldRef
- Description
- コンテナーのリソースを選択します。現在、リソースの制限とリクエスト (limits.cpu、limits.memory、limits.ephemeral-storage、requests.cpu、requests.memory、requests.ephemeral-storage) のみがサポートされています。
- タイプ
-
object
- 必須
-
resource
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| コンテナー名: ボリュームには必須、env 変数にはオプション |
|
| 公開されたリソースの出力形式を指定します。デフォルトは 1 です。 |
|
| 必須: 選択するリソース |
4.1.12. .spec.buildDefaults.env[].valueFrom.secretKeyRef
- Description
- Pod の名前空間でシークレットのキーを選択します
- タイプ
-
object
- 必須
-
key
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| 選択するシークレットのキー。有効な秘密鍵でなければなりません。 |
|
| 参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: その他の便利なルール度を追加。apiVersion、kind、uid |
|
| シークレットかそのキーを定義する必要があるかどうかを指定します。 |
4.1.13. .spec.buildDefaults.gitProxy
- Description
- gitProxy Git 操作のプロキシー設定のみが含まれます。設定されている場合、これは gitclone などのすべての git コマンドのプロキシー設定を上書きします。ここで設定されていない値は、DefaultProxy から継承されます。
- タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
|
| httpProxy は、HTTP リクエストのプロキシーの URL です。空は未設定を意味し、env 変数にはなりません。 |
|
| httpsProxy は、HTTPS リクエストのプロキシーの URL です。空は未設定を意味し、env 変数にはなりません。 |
|
| noProxy は、プロキシーを使用してはならないホスト名や CIDR、IP のコンマ区切りのリストです。空は未設定を意味し、env 変数にはなりません。 |
|
| readinessEndpoints は、プロキシーの準備ができていることを確認するために使用されるエンドポイントのリストです。 |
|
| trustedCA は、CA 証明書バンドルを含む ConfigMap への参照です。trustedCA フィールドは、プロキシーバリデーターによってのみ使用される必要があります。バリデーターは、必要なキー ca-bundle.crt から証明書バンドルを読み取り、それをシステムのデフォルトのトラストバンドルとマージし、マージされたトラストバンドルを trusted-ca-bundle という名前の ConfigMap に書き込みます。openshift-config-managed" 名前空間。プロキシー接続を期待するクライアントは、プロキシーへのすべての HTTPS 要求に trusted-ca-bundle を使用する必要があり、非プロキシー HTTPS 要求にも trusted-ca-bundle を使用できます。trustedCA が参照する ConfigMap のネームスペースは openshift-config です。ConfigMap の例 (yaml) は次のとおりです。apiVersion:v1 種類:ConfigMap メタデータ: 名前:user-ca-bundle 名前空間:openshift-config データ:ca-bundle.crt:| -----BEGINCERTIFICATE----- カスタム CA 証明書バンドル。----- 証明書の終了 ----- |
4.1.14. .spec.buildDefaults.gitProxy.trustedCA
- Description
- trustedCA は、CA 証明書バンドルを含む ConfigMap への参照です。trustedCA フィールドは、プロキシーバリデーターによってのみ使用される必要があります。バリデーターは、必要なキー ca-bundle.crt から証明書バンドルを読み取り、それをシステムのデフォルトのトラストバンドルとマージし、マージされたトラストバンドルを trusted-ca-bundle という名前の ConfigMap に書き込みます。openshift-config-managed" 名前空間。プロキシー接続を期待するクライアントは、プロキシーへのすべての HTTPS 要求に trusted-ca-bundle を使用する必要があり、非プロキシー HTTPS 要求にも trusted-ca-bundle を使用できます。trustedCA が参照する ConfigMap のネームスペースは openshift-config です。ConfigMap (yaml): apiVersion: v1 kind: ConfigMap metadata: name: user-ca-bundle namespace: openshift-config data: ca-bundle.crt: \| -----BEGIN CERTIFICATE----- カスタム CA 証明書バンドル -----END CERTIFICATE----- の例を以下に示します。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は、参照される設定マップの metadata.name です。 |
4.1.15. .spec.buildDefaults.imageLabels
- Description
- ImageLabels は、結果のイメージに適用される Docker ラベルのリストです。ユーザーは、Build/BuildConfig で同じ名前のラベルを指定することにより、デフォルトのラベルを上書きできます。
- タイプ
-
array
4.1.16. .spec.buildDefaults.imageLabels[]
- Description
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| name ラベルの名前を定義します。ゼロ以外の長さを持つ必要があります。 |
|
| 値は、ラベルのリテラル値を定義します。 |
4.1.17. .spec.buildDefaults.resources
- Description
- resources ビルドを実行するためのリソース要件を定義します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。このフィールドは不変です。 |
|
| ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。 |
|
| limits は、許可されるコンピュートリソースの最大量を示します。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。 |
|
| requests は、必要なコンピュートリソースの最小量を示します。コンテナーについて Requests が省略される場合、明示的に指定される場合にデフォルトで Limits に設定されます。指定しない場合は、実装定義の値に設定されます。詳細は、https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ を参照してください。 |
4.1.18. .spec.buildDefaults.resources.claims
- 説明
- Claims には、spec.resourceClaims で定義され、このコンテナーによって使用されるリソースの名前がリストされます。これはアルファフィールドであり、DynamicResourceAllocation フィーチャーゲートを有効にする必要があります。このフィールドは不変です。
- タイプ
-
array
4.1.19. .spec.buildDefaults.resources.claims[]
- 説明
- ResourceClaim は、PodSpec.ResourceClaims 内の 1 つのエントリーを参照します。
- タイプ
-
object
- 必須
-
name
-
プロパティー | タイプ | 説明 |
---|---|---|
|
| name は、このフィールドが使用される Pod の pod.spec.resourceClaims に含まれる、1 つのエントリーの名前と一致する必要があります。これにより、そのリソースがコンテナー内で利用可能になります。 |
4.1.20. .spec.buildOverrides
- Description
- buildOverrides ビルドの上書き設定を制御します。
- タイプ
-
object
プロパティー | タイプ | Description |
---|---|---|
|
| ForcePull は、設定されている場合、ビルド内の同等の値をオーバーライドします。つまり、false はすべてのビルドの強制プルを無効にし、true は、各ビルドがそれ自体を指定する内容に関係なく、すべてのビルドの強制プルを有効にします。 |
|
| ImageLabels は、結果のイメージに適用される Docker ラベルのリストです。ユーザーが Build/BuildConfig でこのリストにあるものと同じ名前のラベルを指定した場合、ユーザーのラベルは上書きされます。 |
|
| |
|
| NodeSelector は、ビルド Pod がノードに適合するために true である必要があるセレクターです。 |
|
| Tolerations は、ビルド Pod に設定されている既存の許容値を上書きする許容値のリストです。 |
|
| この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致するテイントを許容します。 |
4.1.21. .spec.buildOverrides.imageLabels
- Description
- ImageLabels は、結果のイメージに適用される Docker ラベルのリストです。ユーザーが Build/BuildConfig でこのリストにあるものと同じ名前のラベルを指定した場合、ユーザーのラベルは上書きされます。
- タイプ
-
array
4.1.22. .spec.buildOverrides.imageLabels[]
- Description
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| name ラベルの名前を定義します。ゼロ以外の長さを持つ必要があります。 |
|
| 値は、ラベルのリテラル値を定義します。 |
4.1.23. .spec.buildOverrides.tolerations
- Description
- Tolerations は、ビルド Pod に設定されている既存の許容値を上書きする許容値のリストです。
- タイプ
-
array
4.1.24. .spec.buildOverrides.tolerations[]
- Description
- この toleration が割り当てられる Pod は、マッチング Operator <operator> を使用してトリプル <key,value,effect> と一致するテイントを許容します。
- タイプ
-
object
プロパティー | タイプ | 説明 |
---|---|---|
|
| effect は、照合するテイントの効果を示します。空の場合は、すべてのテイント効果に一致します。指定されている場合、許可される値は NoSchedule、PreferNoSchedule、および NoExecute です。 |
|
| key は toleration が適用されるテイントキーです。空の場合は、すべてのテイントキーに一致します。キーが空の場合、Operator は Exists である必要があります。この組み合わせは、すべての値とすべてのキーに一致することを意味します。 |
|
| Operator はキーと値の関係を表します。有効な Operator は Exists および Equal です。デフォルトは Equal です。Exists は、値のワイルドカードと同等であるため、Pod は特定のカテゴリーのすべてのテイントに耐えることができます。 |
|
| tolerationSeconds は、toleration (effect は NoExecute でなければならず、NoExecute 以外の場合このフィールドは無視されます) がテイントを許容する期間を表します。デフォルトでは設定されていません。つまり、テイントを永久に許容します (エビクトしないでください)。ゼロ値と負の値は、システムによって 0 (すぐにエビクト) として扱われます。 |
|
| value は、toleration が一致するテイントの値です。Operator が Exists の場合、値は空である必要があります。それ以外の場合は、通常の文字列のみになります。 |