第6章 MachineConfigPool [machineconfiguration.openshift.io/v1]
- 説明
- MachineConfigPool は、MachineConfig のプールについて説明します。
- タイプ
-
object
6.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 リソースのステータスです。 |
6.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 の生成とマシンの更新が含まれます。 |
6.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 には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。 |
|
| 参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
6.1.3. .spec.configuration.source
- 説明
-
source は、
content
で指定された単一の MachineConfig オブジェクトを生成するために使用された MachineConfig オブジェクトのリストです。 - 型
-
array
6.1.4. .spec.configuration.source[]
- Description
- ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。
- 型
-
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 |
6.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 で結合されます。 |
6.1.6. .spec.machineConfigSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
6.1.7. .spec.machineConfigSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
6.1.8. .spec.nodeSelector
- 説明
- nodeSelector は、マシンのラベルセレクターを指定します
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 |
|
| ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 |
|
| matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 |
6.1.9. .spec.nodeSelector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
-
array
6.1.10. .spec.nodeSelector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
-
object
- 必須
-
key
-
operator
-
プロパティー | 型 | 説明 |
---|---|---|
|
| key は、セレクターの適用先のラベルキーです。 |
|
| operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 |
|
| values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 |
6.1.11. .status
- 説明
- MachineConfigPoolStatus は、MachineConfigPool リソースのステータスです。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| 条件は、現在の状態の最新の利用可能な観測を表します。 |
|
| MachineConfigPoolCondition には、MachineConfigPool の条件情報が含まれています。 |
|
| configuration は、マシン設定プールの現在の MachineConfig オブジェクトを表します。 |
|
| degradedMachineCount は、degraded (または unreconcilable) とマークされたマシンの総数を表します。設定の適用に失敗した場合、ノードは劣化としてマークされます。 |
|
| machineCount は、マシン設定プール内のマシンの総数を表します。 |
|
| observedGeneration は、コントローラーによって監視された世代を表します。 |
|
| readyMachineCount は、プールの対象となる準備完了マシンの総数を表します。 |
|
| availableMachineCount は、プールの対象となる使用できない (準備ができていない) マシンの総数を表します。ノードが更新状態にあるか、NodeReady 条件が false の場合、ノードは使用不可としてマークされます。 |
|
| updatedMachineCount は、設定として CurrentMachineConfig を持つプールのターゲットとなるマシンの総数を表します。 |
6.1.12. .status.conditions
- 説明
- 条件は、現在の状態の最新の利用可能な観測を表します。
- 型
-
array
6.1.13. .status.conditions[]
- 説明
- MachineConfigPoolCondition には、MachineConfigPool の条件情報が含まれています。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
| `` | lastTransitionTime は、この条件の最後のステータス変更に対応するタイムスタンプです。 |
|
| メッセージは、最後の遷移の詳細を人間が読める形式で説明したものであり、理由を補足します。 |
|
| 理由は、条件の最後の遷移に関する簡単な機械可読な説明です。 |
|
| 条件のステータス、'True'、'False'、'Unknown' のいずれか。 |
|
| 現在の条件のタイプ ('Done'、'Updating'、'Failed')。 |
6.1.14. .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 には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。 |
|
| 参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
6.1.15. .status.configuration.source
- 説明
-
source は、
content
で指定された単一の MachineConfig オブジェクトを生成するために使用された MachineConfig オブジェクトのリストです。 - 型
-
array
6.1.16. .status.configuration.source[]
- Description
- ObjectReference には参照先のオブジェクトを調査または変更するのに十分な情報が含まれます。
- 型
-
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 |