第9章 Machine [machine.openshift.io/v1beta1]


説明
Machine は、マシン API のスキーマです。互換性レベル 2: メジャーリリース内で最低 9 カ月間、または 3 つのマイナーリリース内 (いずれか長い方) で安定しています。
object

9.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

MachineSpec は、マシンの望ましい状態を定義します

status

object

MachineStatus は、マシンの監視状態を定義します

9.1.1. .spec

説明
MachineSpec は、マシンの望ましい状態を定義します
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 に "影響" を及ぼします。

9.1.2. .spec.lifecycleHooks

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

preDrain

array

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

preDrain[]

object

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

preTerminate

array

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

preTerminate[]

object

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

9.1.3. .spec.lifecycleHooks.preDrain

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

9.1.4. .spec.lifecycleHooks.preDrain[]

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

name

string

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

owner

string

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

9.1.5. .spec.lifecycleHooks.preTerminate

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

9.1.6. .spec.lifecycleHooks.preTerminate[]

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

name

string

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

owner

string

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

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

9.1.8. .spec.metadata.ownerReferences

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

9.1.9. .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

9.1.10. .spec.providerSpec

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

value

``

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

9.1.11. .spec.taints

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

9.1.12. .spec.taints[]

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

effect

string

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

key

string

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

timeAdded

string

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

value

string

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

9.1.13. .status

説明
MachineStatus は、マシンの監視状態を定義します
object
プロパティー説明

addresses

array

アドレスは、マシンに割り当てられたアドレスのリストです。可能な場合は、クラウドプロバイダーから照会されます。

addresses[]

object

NodeAddress には、ノードのアドレスに関する情報が含まれています。

conditions

array

条件は、マシンの現在の状態を定義します

conditions[]

object

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

errorMessage

string

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

errorReason

string

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

lastOperation

object

LastOperation は、マシンコントローラーによって実行される最後の操作を記述します。この API は、特定のマシンで実行された最新の操作に関する履歴として役立つはずです。また、最新の操作の状態を伝える必要があります。たとえば、それがまだ進行中、失敗、または正常に完了した場合などです。

lastUpdated

string

LastUpdated は、このステータスが最後に観察された日時を識別します。

nodeRef

object

NodeRef は、対応するノードが存在する場合はそれを指します。

phase

string

フェーズは、機械作動の現在のフェーズを表します。失敗、プロビジョニング、プロビジョニング、実行、削除のいずれか

providerStatus

``

ProviderStatus は、プロバイダー固有のステータスの詳細を示します。プロバイダーは、このフィールドからシリアル化/逆シリアル化する必要がある独自のバージョン管理された API タイプを維持することを推奨します。

9.1.14. .status.addresses

説明
アドレスは、マシンに割り当てられたアドレスのリストです。可能な場合は、クラウドプロバイダーから照会されます。
array

9.1.15. .status.addresses[]

説明
NodeAddress には、ノードのアドレスに関する情報が含まれています。
object
必須
  • address
  • type
プロパティー説明

address

string

ノードアドレス。

type

string

ノードアドレスタイプ。ホスト名、ExternalIP、または InternalIP のいずれか。

9.1.16. .status.conditions

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

9.1.17. .status.conditions[]

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

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 を参照)、競合を解消する機能が重要です。

9.1.18. .status.lastOperation

説明
LastOperation は、マシンコントローラーによって実行される最後の操作を記述します。この API は、特定のマシンで実行された最新の操作に関する履歴として役立つはずです。また、最新の操作の状態を伝える必要があります。たとえば、それがまだ進行中、失敗、または正常に完了した場合などです。
object
プロパティー説明

description

string

説明は、最後の操作の人間が読める形式の説明です。

lastUpdated

string

LastUpdated は、LastOperation API が最後に更新されたタイムスタンプです。

state

string

状態は、最後に実行された操作の現在のステータスです。例:処理中、失敗、成功など

type

string

タイプは、最後に実行された操作のタイプです。例:作成、削除、更新など

9.1.19. .status.nodeRef

説明
NodeRef は、対応するノードが存在する場合はそれを指します。
object
プロパティー説明

apiVersion

string

参照先の API バージョン。

fieldPath

string

オブジェクト全体ではなく一部を参照する場合に、この文字列には、desiredState.manifest.containers[2] など、有効な JSON/Go フィールドアクセスステートメントを含める必要があります。たとえば、オブジェクトの参照先が Pod 内のコンテナーの場合には、"spec.containers{name}" などの値に設定されます ("name" はイベントをトリガーしたコンテナー名に置き換えます)。またはコンテナー名が指定されていない場合には、"spec.containers[2]" の値に設定されます (この Pod 内でインデックスが 2 のコンテナー)。この構文が選択された唯一の理由は、オブジェクトの一部の参照を明確に定義するためです。TODO: この設計は最終版ではないので今後このフィールドは変更される可能性があります。

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

namespace

string

参照先の namespace。詳細: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

string

この参照が作成される特定の resourceVersion (ある場合)。詳細: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

string

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

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.