第7章 MachineConfigPool [machineconfiguration.openshift.io/v1]
- 説明
- MachineConfigPool は、MachineConfig のプールを説明します。互換性レベル 1: メジャーリリース内で最低 12 カ月または 3 つのマイナーリリース (どちらか長い方) で安定しています。
- 型
-
object
- 必須
-
spec
-
7.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 を参照してください。 | |
|
| MachineConfigPoolSpec は、MachineConfigPool リソースの仕様です。 |
|
| MachineConfigPoolStatus は、MachineConfigPool リソースのステータスです。 |
7.1.1. .spec
- 説明
- MachineConfigPoolSpec は、MachineConfigPool リソースの仕様です。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| マシン設定プールのターゲットとなる MachineConfig オブジェクト。 |
|
| machineConfigSelector は、MachineConfigs のラベルセレクターを指定します。ラベルとセレクターの動作は、https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ を参照してください。 |
|
| maxUnavailable は、更新中に使用不可になる可能性のあるプール内のノードの整数の数またはパーセンテージを定義します。これには、ユーザーが開始した遮断、障害のあるノードなど、何らかの理由で使用できないノードが含まれます。デフォルト値は 1 です。値が 1 より大きい場合、更新中に複数のノードが使用できなくなるため、残りのノードのワークロードのストレスに影響する可能性があります。この値を 0 に設定して更新を停止することはできません (デフォルトで 1 に戻ります)。更新を停止するには、代わりに 'paused' プロパティーを使用します。ドレインは、maxUnavailable が 1 より大きい場合でも、etcd クォーラムガードなどの Pod Disruption Budget (PDB) を尊重します。 |
|
| nodeSelector は、マシンのラベルセレクターを指定します |
|
| paused は、このマシン設定プールへの変更を停止するかどうかを指定します。これには、新しい desiredMachineConfig の生成とマシンの更新が含まれます。 |
7.1.2. .spec.configuration
- 説明
- マシン設定プールのターゲットとなる MachineConfig オブジェクト。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| 参照先の API バージョン。 |
|
| オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、"spec.containers{name}" などの値に設定されます ("name" はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、"spec.containers[2]" の値に設定されます (この Pod 内でインデックスが 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。TODO: この設計は最終版ではないので今後このフィールドは変更される可能性があります。 |
|
| 参照先の種類。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
|
| 参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
|
source は、 |
|
| ObjectReference には、参照先のオブジェクトを検査または変更するのに十分な情報が含まれています。--- API に埋め込まれた場合、使用方法を説明するのが難しいため、このタイプの新しい使用は推奨されません。1. 無視されたフィールド。一般的には尊重されない多くの分野が含まれます。たとえば、ResourceVersion と FieldPath はどちらも実際の使用ではほとんど有効ではありません。2. 使用法のヘルプが無効です。個別の使用状況に応じた具体的なヘルプを追加することはできません。ほとんどの埋め込みの使用法では、「タイプ A と B のみを参照する必要がある」または「UID は尊重されない」、「名前を制限する必要がある」などの特定の制限があります。埋め込まれると、それらはうまく説明できません。3. 検証に一貫性がありません。使用方法が異なるため、検証ルールも使用方法によって異なり、何が起こるかをユーザーが予測することが難しくなります。4. フィールドは不正確であると同時に過度に正確です。kind は URL への正確なマッピングではありません。これにより、解釈中に曖昧さが生じる可能性があり、REST マッピングが必要になります。ほとんどの場合、依存関係はグループ、リソースのタプルにあり、実際の構造体のバージョンは無関係です。5. 簡単に変えることはできません。このタイプは多くのロケーションに埋め込まれているため、このタイプを更新すると、多数のスキーマに影響します。新しい API に、制御できない指定が不十分な API タイプを埋め込まないでください。この型を使用する代わりに、参照に重点を置いた、ローカルで提供および使用される型を作成します。たとえば、アドミッション登録の ServiceReferences の場合: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533。 |
|
| 参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
7.1.3. .spec.configuration.source
- 説明
-
source は、
content
で指定された単一の MachineConfig オブジェクトを生成するために使用された MachineConfig オブジェクトのリストです。 - 型
-
array
7.1.4. .spec.configuration.source[]
- 説明
- ObjectReference には、参照先のオブジェクトを検査または変更するのに十分な情報が含まれています。--- API に埋め込まれた場合、使用方法を説明するのが難しいため、このタイプの新しい使用は推奨されません。1. 無視されたフィールド。一般的には尊重されない多くの分野が含まれます。たとえば、ResourceVersion と FieldPath はどちらも実際の使用ではほとんど有効ではありません。2. 使用法のヘルプが無効です。個別の使用状況に応じた具体的なヘルプを追加することはできません。ほとんどの埋め込みの使用法では、「タイプ A と B のみを参照する必要がある」または「UID は尊重されない」、「名前を制限する必要がある」などの特定の制限があります。埋め込まれると、それらはうまく説明できません。3. 検証に一貫性がありません。使用方法が異なるため、検証ルールも使用方法によって異なり、何が起こるかをユーザーが予測することが難しくなります。4. フィールドは不正確であると同時に過度に正確です。kind は URL への正確なマッピングではありません。これにより、解釈中に曖昧さが生じる可能性があり、REST マッピングが必要になります。ほとんどの場合、依存関係はグループ、リソースのタプルにあり、実際の構造体のバージョンは無関係です。5. 簡単に変えることはできません。このタイプは多くのロケーションに埋め込まれているため、このタイプを更新すると、多数のスキーマに影響します。新しい API に、制御できない指定が不十分な API タイプを埋め込まないでください。この型を使用する代わりに、参照に重点を置いた、ローカルで提供および使用される型を作成します。たとえば、アドミッション登録の ServiceReferences の場合: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| 参照先の API バージョン。 |
|
| オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、"spec.containers{name}" などの値に設定されます ("name" はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、"spec.containers[2]" の値に設定されます (この Pod 内でインデックスが 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。TODO: この設計は最終版ではないので今後このフィールドは変更される可能性があります。 |
|
| 参照先の種類。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
|
| 参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
7.1.5. .spec.machineConfigSelector
- 説明
- machineConfigSelector は、MachineConfigs のラベルセレクターを指定します。ラベルとセレクターの動作は、https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ を参照してください。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
7.1.6. .spec.machineConfigSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
7.1.7. .spec.machineConfigSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
7.1.8. .spec.nodeSelector
- 説明
- nodeSelector は、マシンのラベルセレクターを指定します
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
7.1.9. .spec.nodeSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
7.1.10. .spec.nodeSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
7.1.11. .status
- 説明
- MachineConfigPoolStatus は、MachineConfigPool リソースのステータスです。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| certExpirys は重要な証明書の有効期限データを記録します |
|
| ceryExpiry にはバンドル名と有効期限が含まれます |
|
| 条件は、現在の状態の最新の利用可能な観測を表します。 |
|
| MachineConfigPoolCondition には、MachineConfigPool の条件情報が含まれています。 |
|
| configuration は、マシン設定プールの現在の MachineConfig オブジェクトを表します。 |
|
| degradedMachineCount は、degraded (または unreconcilable) とマークされたマシンの総数を表します。設定の適用に失敗した場合、ノードは劣化としてマークされます。 |
|
| machineCount は、マシン設定プール内のマシンの総数を表します。 |
|
| observedGeneration は、コントローラーによって監視された世代を表します。 |
|
| readyMachineCount は、プールの対象となる準備完了マシンの総数を表します。 |
|
| availableMachineCount は、プールの対象となる使用できない (準備ができていない) マシンの総数を表します。ノードが更新状態にあるか、NodeReady 条件が false の場合、ノードは使用不可としてマークされます。 |
|
| updatedMachineCount は、設定として CurrentMachineConfig を持つプールのターゲットとなるマシンの総数を表します。 |
7.1.12. .status.certExpirys
- 説明
- certExpirys は重要な証明書の有効期限データを記録します
- 型
-
array
7.1.13. .status.certExpirys[]
- 説明
- ceryExpiry にはバンドル名と有効期限が含まれます
- 型
-
object
- 必須
-
bundle
-
subject
-
プロパティー | 型 | 説明 |
---|---|---|
|
| bundle は、サブジェクト証明書が存在するバンドルの名前です。 |
|
| expiry は、証明書が有効でなくなる日付です。 |
|
| subject は証明書のサブジェクトです |
7.1.14. .status.conditions
- 説明
- 条件は、現在の状態の最新の利用可能な観測を表します。
- 型
-
array
7.1.15. .status.conditions[]
- 説明
- MachineConfigPoolCondition には、MachineConfigPool の条件情報が含まれています。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
| `` | lastTransitionTime は、この条件の最後のステータス変更に対応するタイムスタンプです。 |
|
| メッセージは、最後の遷移の詳細を人間が読める形式で説明したものであり、理由を補足します。 |
|
| 理由は、条件の最後の遷移に関する簡単な機械可読な説明です。 |
|
| 条件のステータス、'True'、'False'、'Unknown' のいずれか。 |
|
| 現在の条件のタイプ ('Done'、'Updating'、'Failed')。 |
7.1.16. .status.configuration
- 説明
- configuration は、マシン設定プールの現在の MachineConfig オブジェクトを表します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| 参照先の API バージョン。 |
|
| オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、"spec.containers{name}" などの値に設定されます ("name" はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、"spec.containers[2]" の値に設定されます (この Pod 内でインデックスが 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。TODO: この設計は最終版ではないので今後このフィールドは変更される可能性があります。 |
|
| 参照先の種類。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
|
| 参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
|
source は、 |
|
| ObjectReference には、参照先のオブジェクトを検査または変更するのに十分な情報が含まれています。--- API に埋め込まれた場合、使用方法を説明するのが難しいため、このタイプの新しい使用は推奨されません。1. 無視されたフィールド。一般的には尊重されない多くの分野が含まれます。たとえば、ResourceVersion と FieldPath はどちらも実際の使用ではほとんど有効ではありません。2. 使用法のヘルプが無効です。個別の使用状況に応じた具体的なヘルプを追加することはできません。ほとんどの埋め込みの使用法では、「タイプ A と B のみを参照する必要がある」または「UID は尊重されない」、「名前を制限する必要がある」などの特定の制限があります。埋め込まれると、それらはうまく説明できません。3. 検証に一貫性がありません。使用方法が異なるため、検証ルールも使用方法によって異なり、何が起こるかをユーザーが予測することが難しくなります。4. フィールドは不正確であると同時に過度に正確です。kind は URL への正確なマッピングではありません。これにより、解釈中に曖昧さが生じる可能性があり、REST マッピングが必要になります。ほとんどの場合、依存関係はグループ、リソースのタプルにあり、実際の構造体のバージョンは無関係です。5. 簡単に変えることはできません。このタイプは多くのロケーションに埋め込まれているため、このタイプを更新すると、多数のスキーマに影響します。新しい API に、制御できない指定が不十分な API タイプを埋め込まないでください。この型を使用する代わりに、参照に重点を置いた、ローカルで提供および使用される型を作成します。たとえば、アドミッション登録の ServiceReferences の場合: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533。 |
|
| 参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
7.1.17. .status.configuration.source
- 説明
-
source は、
content
で指定された単一の MachineConfig オブジェクトを生成するために使用された MachineConfig オブジェクトのリストです。 - 型
-
array
7.1.18. .status.configuration.source[]
- 説明
- ObjectReference には、参照先のオブジェクトを検査または変更するのに十分な情報が含まれています。--- API に埋め込まれた場合、使用方法を説明するのが難しいため、このタイプの新しい使用は推奨されません。1. 無視されたフィールド。一般的には尊重されない多くの分野が含まれます。たとえば、ResourceVersion と FieldPath はどちらも実際の使用ではほとんど有効ではありません。2. 使用法のヘルプが無効です。個別の使用状況に応じた具体的なヘルプを追加することはできません。ほとんどの埋め込みの使用法では、「タイプ A と B のみを参照する必要がある」または「UID は尊重されない」、「名前を制限する必要がある」などの特定の制限があります。埋め込まれると、それらはうまく説明できません。3. 検証に一貫性がありません。使用方法が異なるため、検証ルールも使用方法によって異なり、何が起こるかをユーザーが予測することが難しくなります。4. フィールドは不正確であると同時に過度に正確です。kind は URL への正確なマッピングではありません。これにより、解釈中に曖昧さが生じる可能性があり、REST マッピングが必要になります。ほとんどの場合、依存関係はグループ、リソースのタプルにあり、実際の構造体のバージョンは無関係です。5. 簡単に変えることはできません。このタイプは多くのロケーションに埋め込まれているため、このタイプを更新すると、多数のスキーマに影響します。新しい API に、制御できない指定が不十分な API タイプを埋め込まないでください。この型を使用する代わりに、参照に重点を置いた、ローカルで提供および使用される型を作成します。たとえば、アドミッション登録の ServiceReferences の場合: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| 参照先の API バージョン。 |
|
| オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、"spec.containers{name}" などの値に設定されます ("name" はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、"spec.containers[2]" の値に設定されます (この Pod 内でインデックスが 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。TODO: この設計は最終版ではないので今後このフィールドは変更される可能性があります。 |
|
| 参照先の種類。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。 |
|
| 参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |