第10章 MachineSet [machine.openshift.io/v1beta1]


説明
MachineSet は、指定された数のマシンレプリカが常に実行されていることを確認します。互換性レベル 2: メジャーリリース内で最低 9 カ月間、または 3 つのマイナーリリース (どちらか長い方) で安定しています。
object

10.1. 仕様

プロパティー説明

apiVersion

string

APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できる場合があります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

metadata

ObjectMeta

標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

MachineSetSpec は、MachineSet の望ましい状態を定義します

status

object

MachineSetStatus は、MachineSet の監視状態を定義します

10.1.1. .spec

説明
MachineSetSpec は、MachineSet の望ましい状態を定義します
object
プロパティー説明

deletePolicy

string

DeletePolicy は、ダウンスケーリング時に削除するノードを識別するために使用されるポリシーを定義します。デフォルトは "Random" です。有効な値は "Random"、"Newest"、"Oldest" です。

minReadySeconds

integer

MinReadySeconds は、新しく作成されたマシンの準備ができる最小秒数です。デフォルトは 0 です (マシンは準備ができ次第利用可能と見なされます)

replicas

integer

レプリカは、必要なレプリカの数です。これは、明示的なゼロと指定されていないものを区別するためのポインターです。デフォルトは 1 です。

selector

object

セレクターは、レプリカ数と一致する必要があるマシンに対するラベルクエリーです。この MachineSet によって制御されるために一致する必要があるキーと値にラベルを付けます。マシンテンプレートのラベルと一致する必要があります。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors

template

object

テンプレートは、不十分なレプリカが検出された場合に作成されるマシンを説明するオブジェクトです。

10.1.2. .spec.selector

説明
セレクターは、レプリカ数と一致する必要があるマシンに対するラベルクエリーです。この MachineSet によって制御されるために一致する必要があるキーと値にラベルを付けます。マシンテンプレートのラベルと一致する必要があります。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
object
プロパティー説明

matchExpressions

array

matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。

matchExpressions[]

object

ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。

matchLabels

object (string)

matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。

10.1.3. .spec.selector.matchExpressions

説明
matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
array

10.1.4. .spec.selector.matchExpressions[]

説明
ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
object
必須
  • key
  • operator
プロパティー説明

key

string

key は、セレクターの適用先のラベルキーです。

operator

string

operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。

values

array (string)

values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。

10.1.5. .spec.template

説明
テンプレートは、不十分なレプリカが検出された場合に作成されるマシンを説明するオブジェクトです。
object
プロパティー説明

metadata

object

標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

Pod に期待される動作の仕様。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status

10.1.6. .spec.template.metadata

説明
標準オブジェクトのメタデータ。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。
object
プロパティー説明

annotations

object (string)

アノテーションは、任意のメタデータを保存し、取得するために外部ツールで設定できる、リソースとともに保存される構造化されていないキー値のマップです。これらはクエリーできないため、オブジェクトを変更する場合に維持する必要があります。詳細: http://kubernetes.io/docs/user-guide/annotations

generateName

string

generateName は、Name フィールドが指定されていない場合に限り一意の名前を生成するためにサーバーが使用するオプションの接頭辞です。このフィールドを使用する場合、クライアントに返される名前は渡された名前とは異なります。この値は、一意の接尾辞とも組み合わされます。提供された値には、名前フィールドと同じ検証ルールがあり、サーバー上で値を一意にするために必要な接尾辞の長さで切り捨てられる場合があります。このフィールドが指定されており、生成された名前が存在する場合、サーバーは 409 を返しません。代わりに、割り当てられた時間内に一意の名前が見つからなかったことを示す Reason ServerTimeout で 201 Created または 500 を返します。クライアントは再試行する必要があります (オプションで、Retry-After ヘッダーに示されている時間の後)。Name が指定されていない場合にのみ適用されます。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

object (string)

オブジェクトの整理と分類 (スコープと選択) に使用できる文字列キーと値のマップ。レプリケーションコントローラーおよびサービスのセレクターと一致する場合があります。詳細: http://kubernetes.io/docs/user-guide/labels

name

string

name は namespace 内で一意である必要があります。リソースの作成時に必要ですが、リソースによっては、クライアントが適切な名前の生成を自動的に要求することを許可する場合があります。name は、主にべき等性と設定定義の作成を目的としています。これを更新することはできません。詳細: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

string

名前空間は、各名前内のスペースが一意である必要があることを定義します。空の namespace は "default" の namespace と同じですが、"default" は正規表現です。すべてのオブジェクトを namespace のスコープに設定する必要はありません。それらのオブジェクトでは、このフィールドの値は空になります。DNS_LABEL である必要があります。これを更新することはできません。詳細: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

array

このオブジェクトが依存するオブジェクトのリスト。リスト内のすべてのオブジェクトが削除されている場合、このオブジェクトはガベージコレクションされます。このオブジェクトがコントローラーによって管理されている場合、このリストのエントリーは、コントローラーフィールドが true に設定されたこのコントローラーを指します。複数の管理コントローラーが存在することはできません。

ownerReferences[]

object

OwnerReference には、所有するオブジェクトを識別できるようにするための十分な情報が含まれています。所有するオブジェクトは、依存オブジェクトと同じ名前空間にあるか、クラスタースコープである必要があるため、名前空間フィールドはありません。

10.1.7. .spec.template.metadata.ownerReferences

説明
このオブジェクトが依存するオブジェクトのリスト。リスト内のすべてのオブジェクトが削除されている場合、このオブジェクトはガベージコレクションされます。このオブジェクトがコントローラーによって管理されている場合、このリストのエントリーは、コントローラーフィールドが true に設定されたこのコントローラーを指します。複数の管理コントローラーが存在することはできません。
array

10.1.8. .spec.template.metadata.ownerReferences[]

説明
OwnerReference には、所有するオブジェクトを識別できるようにするための十分な情報が含まれています。所有するオブジェクトは、依存オブジェクトと同じ名前空間にあるか、クラスタースコープである必要があるため、名前空間フィールドはありません。
object
必須
  • apiVersion
  • kind
  • name
  • uid
プロパティー説明

apiVersion

string

参照先の API バージョン。

blockOwnerDeletion

boolean

true の場合、および所有者が "foregroundDeletion" ファイナライザーを持っている場合、この参照が削除されるまで、所有者を Key-Value ストアから削除することはできません。ガベージコレクターがこのフィールドと対話し、フォアグラウンドを強制的に削除する方法は、https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion を参照してください。デフォルトは false です。このフィールドを設定するには、ユーザーは所有者の "削除" 権限を必要とします。そうしないと、422 (処理不能エンティティー) が返されます。

controller

boolean

true の場合、この参照は管理コントローラーを指します。

kind

string

参照先の種類。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

name

string

参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names

uid

string

参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids

10.1.9. .spec.template.spec

説明
Pod に期待される動作の仕様。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
object
プロパティー説明

lifecycleHooks

object

lifecycleHooks を使用すると、ユーザーはマシンのライフサイクル内の特定の定義済みポイントでマシン上の操作を一時停止できます。

metadata

object

ObjectMeta は、作成されたノードに自動入力します。これを使用して、ノードの作成時に使用するラベル、アノテーション、名前接頭辞などを示します。

providerID

string

providerID は、プロバイダーによって提供されたマシンの ID です。このフィールドは、このマシンに対応するノードオブジェクトに表示されるプロバイダー ID と一致する必要があります。このフィールドは、cluster-api の上位レベルのコンシューマーに必要です。ユースケースの例は、プロバイダーとして cluster-api を使用するクラスターオートスケーラーです。オートスケーラーのクリーンアップロジックは、マシンをノードと比較して、Kubernetes ノードとして登録できなかったプロバイダーのマシンを見つけます。オートスケーラーの一般的なツリー外プロバイダーとして cluster-api を使用する場合、このフィールドは、マシンのリストのプロバイダービューを持つことができるようにするためにオートスケーラーによって必要とされます。k8s apiserver からノードの別のリストが照会され、比較が行われて未登録のマシンが検出され、削除のマークが付けられます。このフィールドはアクチュエーターによって設定され、汎用プロバイダーとして cluster-api とインターフェイスするオートスケーラーなどの高レベルのエンティティーによって消費されます。

providerSpec

object

ProviderSpec の詳細ノードの作成中に使用するプロバイダー固有の設定。

taints

array

対応するノードに追加的に適用されるテイントのリスト。このリストは、他のエンティティーによって継続的にノードに追加された他のテイントを上書きしません。これらのテイントは積極的に調整する必要があります。たとえば、マシンコントローラーにテイントを適用するように依頼し、手動でテイントを除去すると、マシンコントローラーはテイントを元に戻します)、マシンコントローラーにテイントを除去させないでください。

taints[]

object

このテイントが接続されているノードは、テイントを許容しない Pod に "影響" を及ぼします。

10.1.10. .spec.template.spec.lifecycleHooks

説明
lifecycleHooks を使用すると、ユーザーはマシンのライフサイクル内の特定の定義済みポイントでマシン上の操作を一時停止できます。
object
プロパティー説明

preDrain

array

PreDrain フックは、マシンのドレインを阻止します。これにより、終了などのライフサイクルイベントもさらにブロックされます。

preDrain[]

object

lifecycleHook はライフサイクルフックの単一インスタンスを表します。

preTerminate

array

preTerminate フックはマシンが終了するのを防ぎます。preTerminate フックは、マシンがドレインされた後に実行されます。

preTerminate[]

object

lifecycleHook はライフサイクルフックの単一インスタンスを表します。

10.1.11. .spec.template.spec.lifecycleHooks.preDrain

説明
PreDrain フックは、マシンのドレインを阻止します。これにより、終了などのライフサイクルイベントもさらにブロックされます。
array

10.1.12. .spec.template.spec.lifecycleHooks.preDrain[]

説明
lifecycleHook はライフサイクルフックの単一インスタンスを表します。
object
必須
  • name
  • owner
プロパティー説明

name

string

name はライフサイクルフックの一意の名前を定義します。名前は一意でわかりやすく、理想的には 1 - 3 語で CamelCase で表記する必要がありますが、名前空間を使用することもできます (例: foo.example.com/CamelCase)。名前は一意である必要があり、単一のエンティティーによってのみ管理される必要があります。

owner

string

owner は、ライフサイクルフックの所有者を定義します。これは、ライフサイクルをブロックしているのが誰であるかをユーザーが識別できるように、わかるように説明してある必要があります。これは、コントローラーの名前 (例: clusteroperator/etcd) またはフックを管理する管理者の名前である可能性があります。

10.1.13. .spec.template.spec.lifecycleHooks.preTerminate

説明
preTerminate フックはマシンが終了するのを防ぎます。preTerminate フックは、マシンがドレインされた後に実行されます。
array

10.1.14. .spec.template.spec.lifecycleHooks.preTerminate[]

説明
lifecycleHook はライフサイクルフックの単一インスタンスを表します。
object
必須
  • name
  • owner
プロパティー説明

name

string

name はライフサイクルフックの一意の名前を定義します。名前は一意でわかりやすく、理想的には 1 - 3 語で CamelCase で表記する必要がありますが、名前空間を使用することもできます (例: foo.example.com/CamelCase)。名前は一意である必要があり、単一のエンティティーによってのみ管理される必要があります。

owner

string

owner は、ライフサイクルフックの所有者を定義します。これは、ライフサイクルをブロックしているのが誰であるかをユーザーが識別できるように、わかるように説明してある必要があります。これは、コントローラーの名前 (例: clusteroperator/etcd) またはフックを管理する管理者の名前である可能性があります。

10.1.15. .spec.template.spec.metadata

説明
ObjectMeta は、作成されたノードに自動入力します。これを使用して、ノードの作成時に使用するラベル、アノテーション、名前接頭辞などを示します。
object
プロパティー説明

annotations

object (string)

アノテーションは、任意のメタデータを保存し、取得するために外部ツールで設定できる、リソースとともに保存される構造化されていないキー値のマップです。これらはクエリーできないため、オブジェクトを変更する場合に維持する必要があります。詳細: http://kubernetes.io/docs/user-guide/annotations

generateName

string

generateName は、Name フィールドが指定されていない場合に限り一意の名前を生成するためにサーバーが使用するオプションの接頭辞です。このフィールドを使用する場合、クライアントに返される名前は渡された名前とは異なります。この値は、一意の接尾辞とも組み合わされます。提供された値には、名前フィールドと同じ検証ルールがあり、サーバー上で値を一意にするために必要な接尾辞の長さで切り捨てられる場合があります。このフィールドが指定されており、生成された名前が存在する場合、サーバーは 409 を返しません。代わりに、割り当てられた時間内に一意の名前が見つからなかったことを示す Reason ServerTimeout で 201 Created または 500 を返します。クライアントは再試行する必要があります (オプションで、Retry-After ヘッダーに示されている時間の後)。Name が指定されていない場合にのみ適用されます。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

object (string)

オブジェクトの整理と分類 (スコープと選択) に使用できる文字列キーと値のマップ。レプリケーションコントローラーおよびサービスのセレクターと一致する場合があります。詳細: http://kubernetes.io/docs/user-guide/labels

name

string

name は namespace 内で一意である必要があります。リソースの作成時に必要ですが、リソースによっては、クライアントが適切な名前の生成を自動的に要求することを許可する場合があります。name は、主にべき等性と設定定義の作成を目的としています。これを更新することはできません。詳細: http://kubernetes.io/docs/user-guide/identifiers#names

namespace

string

名前空間は、各名前内のスペースが一意である必要があることを定義します。空の namespace は "default" の namespace と同じですが、"default" は正規表現です。すべてのオブジェクトを namespace のスコープに設定する必要はありません。それらのオブジェクトでは、このフィールドの値は空になります。DNS_LABEL である必要があります。これを更新することはできません。詳細: http://kubernetes.io/docs/user-guide/namespaces

ownerReferences

array

このオブジェクトが依存するオブジェクトのリスト。リスト内のすべてのオブジェクトが削除されている場合、このオブジェクトはガベージコレクションされます。このオブジェクトがコントローラーによって管理されている場合、このリストのエントリーは、コントローラーフィールドが true に設定されたこのコントローラーを指します。複数の管理コントローラーが存在することはできません。

ownerReferences[]

object

OwnerReference には、所有するオブジェクトを識別できるようにするための十分な情報が含まれています。所有するオブジェクトは、依存オブジェクトと同じ名前空間にあるか、クラスタースコープである必要があるため、名前空間フィールドはありません。

10.1.16. .spec.template.spec.metadata.ownerReferences

説明
このオブジェクトが依存するオブジェクトのリスト。リスト内のすべてのオブジェクトが削除されている場合、このオブジェクトはガベージコレクションされます。このオブジェクトがコントローラーによって管理されている場合、このリストのエントリーは、コントローラーフィールドが true に設定されたこのコントローラーを指します。複数の管理コントローラーが存在することはできません。
array

10.1.17. .spec.template.spec.metadata.ownerReferences[]

説明
OwnerReference には、所有するオブジェクトを識別できるようにするための十分な情報が含まれています。所有するオブジェクトは、依存オブジェクトと同じ名前空間にあるか、クラスタースコープである必要があるため、名前空間フィールドはありません。
object
必須
  • apiVersion
  • kind
  • name
  • uid
プロパティー説明

apiVersion

string

参照先の API バージョン。

blockOwnerDeletion

boolean

true の場合、および所有者が "foregroundDeletion" ファイナライザーを持っている場合、この参照が削除されるまで、所有者を Key-Value ストアから削除することはできません。ガベージコレクターがこのフィールドと対話し、フォアグラウンドを強制的に削除する方法は、https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion を参照してください。デフォルトは false です。このフィールドを設定するには、ユーザーは所有者の "削除" 権限を必要とします。そうしないと、422 (処理不能エンティティー) が返されます。

controller

boolean

true の場合、この参照は管理コントローラーを指します。

kind

string

参照先の種類。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

name

string

参照先の名前。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names

uid

string

参照先の UID。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids

10.1.18. .spec.template.spec.providerSpec

説明
ProviderSpec の詳細ノードの作成中に使用するプロバイダー固有の設定。
object
プロパティー説明

value

``

値は、リソース設定のインライン化されたシリアル化された表現です。プロバイダーは、コンポーネント設定と同様に、このフィールドからシリアル化/逆シリアル化する必要がある独自のバージョン管理された API タイプを維持することを推奨します。

10.1.19. .spec.template.spec.taints

説明
対応するノードに追加的に適用されるテイントのリスト。このリストは、他のエンティティーによって継続的にノードに追加された他のテイントを上書きしません。これらのテイントは積極的に調整する必要があります。たとえば、マシンコントローラーにテイントを適用するように依頼し、手動でテイントを除去すると、マシンコントローラーはテイントを元に戻します)、マシンコントローラーにテイントを除去させないでください。
array

10.1.20. .spec.template.spec.taints[]

説明
このテイントが接続されているノードは、テイントを許容しない Pod に "影響" を及ぼします。
object
必須
  • effect
  • key
プロパティー説明

effect

string

必須。テイントを許容しない Pod に対するテイントの影響。有効な効果は、NoSchedule、PreferNoSchedule、および NoExecute です。

key

string

必須。ノードに適用されるテイントキー。

timeAdded

string

timeAdded は、テイントが追加された時刻を表します。NoExecute テイントにのみ作成されます。

value

string

テイントキーに対応するテイント値。

10.1.21. .status

説明
MachineSetStatus は、MachineSet の監視状態を定義します
object
プロパティー説明

availableReplicas

integer

この MachineSet で使用可能なレプリカの数 (少なくとも minReadySeconds の準備ができています)。

conditions

array

条件は、MachineSet の現在の状態を定義します

conditions[]

object

condition は、Machine API リソースの動作状態の監視を定義します。

errorMessage

string

 

errorReason

string

レプリカの調整で最終的な問題が発生した場合は、ErrorReason と ErrorMessage の両方が設定されます。ErrorReason には、マシンの解釈に適した簡潔な値が入力されますが、ErrorMessage には、ロギングと人間による消費に適したより詳細な文字列が含まれます。これらのフィールドは、時間の経過とともに自動的に修正されると予想されるコントローラーが直面する推移的なエラー (サービスの停止など) に対して設定するべきではありませんが、代わりに、MachineTemplate の仕様またはマシンコントローラーの設定に根本的な問題があることを示します。手動による介入が必要です。ターミナルエラーの例としては、仕様の設定の無効な組み合わせ、マシンコントローラーでサポートされていない値、または責任のあるマシンコントローラー自体が重大に誤って設定されていることが挙げられます。マシンの調整中に発生する一時的なエラーは、イベントとして MachineSet オブジェクトに追加したり、コントローラーの出力に記録したりできます。

fullyLabeledReplicas

integer

MachineSet のマシンテンプレートのラベルと一致するラベルを持つレプリカの数。

observedGeneration

integer

ObservedGeneration は、最後に観察された MachineSet の生成を反映します。

readyReplicas

integer

この MachineSet の準備ができているレプリカの数。ノードが作成され、準備完了になると、マシンは "準備完了" と見なされます。

replicas

integer

レプリカは、最近観察されたレプリカの数です。

10.1.22. .status.conditions

説明
条件は、MachineSet の現在の状態を定義します
array

10.1.23. .status.conditions[]

説明
condition は、Machine API リソースの動作状態の監視を定義します。
object
必須
  • type
プロパティー説明

lastTransitionTime

string

最後にある状態から別の状態に遷移した時間。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。

message

string

遷移の詳細を示す人が判読できるメッセージ。このフィールドは空の場合があります。

reason

string

CamelCase での状態の最後の遷移に関する理由。特定の API は、このフィールドが保証された API と見なされるかどうかを選択できます。このフィールドには空白を指定できません。

severity

string

重大度は理由コードの明示的な分類を提供するため、ユーザーまたはマシンは現在の状況を即座に理解し、それに応じて行動できます。Severity フィールドは、Status=False の場合にのみ設定する必要があります。

status

string

状態のステータス (True、False、Unknown のいずれか)。

type

string

CamelCase または foo.example.com/CamelCase の条件のタイプ。多くの.condition.type 値は、Available などのリソース全体で一貫していますが、任意の条件が役立つ可能性があるため (.node.status.conditions を参照)、競合を解消する機能が重要です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.