第12章 MachineOSConfig [machineconfiguration.openshift.io/v1]
- 説明
- MachineOSConfig は、MCO によって管理されるビルドプロセスの設定を記述します。互換性レベル 1: メジャーリリース内で最低 12 カ月間、または 3 つのマイナーリリース (いずれか長い方) にわたって安定しています。
- 型
-
object
- 必須
-
spec
-
12.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 は、machineosconfig の設定を記述します。 |
|
| status は、machineosconfig のステータスを記述します。 |
12.1.1. .spec リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- spec は、machineosconfig の設定を記述します。
- 型
-
object
- 必須
-
imageBuilder
-
machineConfigPool
-
renderedImagePushSecret
-
renderedImagePushSpec
-
プロパティー | 型 | 説明 |
---|---|---|
|
| baseImagePullSecret は、ベースイメージをプルするために使用されるシークレットです。提供される場合、openshift-machine-config-operator namespace に存在する必要があります。指定されていない場合は、デフォルトでクラスター全体のプルシークレットが使用されます。これはクラスターのインストール時に提供され、openshift-config namespace にシークレットとして存在します。 |
|
| containerFile は、ユーザーがイメージに組み込むために指定したカスタムデータを記述します。これは一般的に Dockerfile とも呼ばれており、Dockerfile として扱うことができます。コンテンツは Dockerfile のコンテンツです。spec 参照は、https://github.com/containers/common/blob/main/docs/Containerfile.5.md を参照してください。これはアーキテクチャー名 (例: AMD64) でインデックス付けされたリストであり、arch ごとに 1 つの containerFile (最大 4 つ) を指定できます。 |
|
| MachineOSContainerfile には、ユーザーがイメージに組み込みたいすべてのカスタムコンテンツが含まれています。 |
|
| imageBuilder は、この MachineOSConfig によってトリガーされる各ビルドで使用される Image Builder を記述します。現在サポートされているタイプ: Job |
|
| machineConfigPool は、ビルドの対象となるプールです。Machine Config Operator はビルドを実行し、ビルドされたイメージを指定されたプールにロールアウトします。 |
|
| renderedImagePushSecret は、ユーザーレジストリーに接続するために使用されるシークレットです。最終的なイメージのプッシュ用とプル用のシークレットは分離して、最小権限の原則を想定して設定される必要があります。書き込み特権を持つプッシュシークレットは、MachineConfigController Pod をホストしているノードにのみ存在する必要があります。読み取り専用特権を持つプルシークレットは、すべてのノードで必要です。2 つのシークレットを分離することで、書き込み認証情報が侵害されるリスクが軽減されます。 |
|
| renderedImagePushSpec は、最終イメージの場所を記述します。MachineOSConfig オブジェクトは、クラスター内のイメージレジストリー設定を使用します。registries.conf に固有のミラーまたはその他の設定を使用する場合は、クラスターの image.config、ImageContentSourcePolicies、ImageDigestMirrorSet、または ImageTagMirrorSet オブジェクトを介して、クラスター全体の registries.conf でそれらを指定してください。イメージプッシュ spec の形式は、host[:port][/namespace]/name:<tag> or svc_name.namespace.svc[:port]/repository/name:<tag> です。プッシュ spec の長さは 1 文字以上 447 文字以下にする必要があります。 |
12.1.2. .spec.baseImagePullSecret リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- baseImagePullSecret は、ベースイメージをプルするために使用されるシークレットです。提供される場合、openshift-machine-config-operator namespace に存在する必要があります。指定されていない場合は、デフォルトでクラスター全体のプルシークレットが使用されます。これはクラスターのインストール時に提供され、openshift-config namespace にシークレットとして存在します。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| name は、この MachineOSConfig オブジェクトをプッシュまたはプルするために使用されるシークレットの名前です。小文字の英数字、'-'、または '.' が含まれ、先頭と末尾は英数字にする必要があります。このシークレットは、openshift-machine-config-operator namespace に存在する必要があります。 |
12.1.3. .spec.containerFile リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- containerFile は、ユーザーがイメージに組み込むために指定したカスタムデータを記述します。これは一般的に Dockerfile とも呼ばれており、Dockerfile として扱うことができます。コンテンツは Dockerfile のコンテンツです。spec 参照は、https://github.com/containers/common/blob/main/docs/Containerfile.5.md を参照してください。これはアーキテクチャー名 (例: AMD64) でインデックス付けされたリストであり、arch ごとに 1 つの containerFile (最大 4 つ) を指定できます。
- 型
-
array
12.1.4. .spec.containerFile[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- MachineOSContainerfile には、ユーザーがイメージに組み込みたいすべてのカスタムコンテンツが含まれています。
- 型
-
object
- 必須
-
content
-
プロパティー | 型 | 説明 |
---|---|---|
|
| containerfileArch は、この containerfile がビルドされるアーキテクチャーを記述します。この arch はオプションです。ユーザーがアーキテクチャーを指定しない場合は、コンテンツはすべてのアーキテクチャーに適用できるか、単一のアーキテクチャークラスター (唯一のアーキテクチャー) に適用できるものとみなされます。 |
|
| content は、イメージに組み込まれるコンテンツを定義する埋め込み Containerfile/Dockerfile です。spec 参照は、https://github.com/containers/common/blob/main/docs/Containerfile.5.md を参照してください。たとえば、次のようにすることで、tree パッケージがホストに追加されます: FROM configs AS final RUN rpm-ostree install tree && \ ostree container commit このフィールドは必須で、最大 4096 文字まで指定できます。 |
12.1.5. .spec.imageBuilder リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- imageBuilder は、この MachineOSConfig によってトリガーされる各ビルドで使用される Image Builder を記述します。現在サポートされているタイプ: Job
- 型
-
object
- 必須
-
imageBuilderType
-
プロパティー | 型 | 説明 |
---|---|---|
|
| imageBuilderType は、イメージのビルドに使用するバックエンドを指定します。有効なオプション: Job |
12.1.6. .spec.machineConfigPool リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- machineConfigPool は、ビルドの対象となるプールです。Machine Config Operator はビルドを実行し、ビルドされたイメージを指定されたプールにロールアウトします。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| MachineConfigPool オブジェクトの名前。この値は最大 253 文字で、小文字の英数字、ハイフン、ピリオドのみを含み、先頭と末尾は英数字にする必要があります。 |
12.1.7. .spec.renderedImagePushSecret リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- renderedImagePushSecret は、ユーザーレジストリーに接続するために使用されるシークレットです。最終的なイメージのプッシュ用とプル用のシークレットは分離して、最小権限の原則を想定して設定される必要があります。書き込み特権を持つプッシュシークレットは、MachineConfigController Pod をホストしているノードにのみ存在する必要があります。読み取り専用特権を持つプルシークレットは、すべてのノードで必要です。2 つのシークレットを分離することで、書き込み認証情報が侵害されるリスクが軽減されます。
- 型
-
object
- 必須
-
name
-
プロパティー | 型 | 説明 |
---|---|---|
|
| name は、この MachineOSConfig オブジェクトをプッシュまたはプルするために使用されるシークレットの名前です。小文字の英数字、'-'、または '.' が含まれ、先頭と末尾は英数字にする必要があります。このシークレットは、openshift-machine-config-operator namespace に存在する必要があります。 |
12.1.8. .status リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- status は、machineosconfig のステータスを記述します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| conditions は、オブジェクトの状態に関連するものです。 |
|
| condition には、この API Resource の現在の状態のある側面の詳細が含まれます。 |
|
| currentImagePullSpec は、MCO が新しい OSImage をプルダウンするために使用する完全修飾イメージプル spec です。これには、sha256 イメージダイジェストが含まれます。これは、Machine Config Operator のビルドコントローラーがビルドを正常に完了したときに生成され、対応する MachineOSBuild オブジェクトの FinalImagePushSpec から情報が設定されます。これは、新しいイメージのビルドを引き起こす spec の変更に応じて完了後に変更される可能性がありますが、削除されることはありません。イメージプル spec の形式は、host[:port][/namespace]/name@sha256:<digest> です。digest は 64 文字の長さで、小文字の 16 進文字 (a - f と 0 - 9) のみが含まれている必要があります。spec 全体の長さは 1 文字以上 447 文字以下にする必要があります。 |
|
| machineOSBuild は、この MachineOSConfig の MachineOSBuild オブジェクトへの参照であり、イメージビルドのステータスが含まれます。 |
|
| observedGeneration は、Machine Config Operator のビルドコントローラーによって監視される MachineOSConfig オブジェクトの生成を表します。 |
12.1.9. .status.conditions リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- conditions は、オブジェクトの状態に関連するものです。
- 型
-
array
12.1.10. .status.conditions[] リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- condition には、この API Resource の現在の状態のある側面の詳細が含まれます。
- 型
-
object
- 必須
-
lastTransitionTime
-
message
-
reason
-
status
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。 |
|
| message は、遷移の詳細を示す人が判読できるメッセージです。空の文字列の場合もあります。 |
|
| observedGeneration は、それをベースに条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が現在 12 で、.status.conditions[x].observedGeneration が 9 の場合、インスタンスの現在の状態に対して条件が古くなっています。 |
|
| reason には、条件の最後の遷移の理由を示すプログラムによる識別子が含まれます。特定の条件タイプのプロデューサーは、このフィールドの期待値と意味、および値が保証された API と見なされるかどうかを定義できます。値は CamelCase 文字列である必要があります。このフィールドには空白を指定できません。 |
|
| 条件のステータス、True、False、Unknown のいずれか。 |
|
| CamelCase または foo.example.com/CamelCase の条件のタイプ。 |
12.1.11. .status.machineOSBuild リンクのコピーリンクがクリップボードにコピーされました!
- 説明
- machineOSBuild は、この MachineOSConfig の MachineOSBuild オブジェクトへの参照であり、イメージビルドのステータスが含まれます。
- 型
-
object
- 必須
-
group
-
name
-
resource
-
プロパティー | 型 | 説明 |
---|---|---|
|
| 指示対象のグループ。名前には、小文字の英数字、'-'、または '.' のみを含めることができ、先頭と末尾は英数字にする必要があります。たとえば、""、"apps"、"build.openshift.io" です。 |
|
| 参照先の名前。名前には、小文字の英数字、'-'、または '.' のみを含めることができ、先頭と末尾は英数字にする必要があります。 |
|
| 参照先の namespace。この値は最大 63 文字で、小文字の英数字とハイフンのみを含み、先頭と末尾は英数字にする必要があります。 |
|
| 指示対象のリソース。この値は最大 63 文字で、小文字の英数字とハイフンのみを含み、英字で始まり英数字で終わる必要があります。たとえば、"deployments"、"deploymentconfigs"、"pods" です。 |