第8章 MachineHealthCheck [machine.openshift.io/v1beta1]
- 説明
- MachineHealthCheck は、machinehealthchecks API のスキーマです。互換性レベル 2: メジャーリリース内で最低 9 カ月間、または 3 つのマイナーリリース内 (いずれか長い方) で安定しています。
- 型
- 
						object
8.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 を参照してください。 | |
| 
								 | 
								 | マシンヘルスチェックポリシーの仕様 | 
| 
								 | 
								 | MachineHealthCheck リソースの最近観察されたステータス | 
8.1.1. .spec
- 説明
- マシンヘルスチェックポリシーの仕様
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | それ以上の修復は、"セレクター" によって選択された最大で "maxUnhealthy" マシンが正常でない場合にのみ許可されます。正の整数値またはパーセンテージ値のいずれかを期待します。パーセンテージ値は正の整数でなければならず、100% を上限とします。0% と 0% の両方が有効であり、すべての修復をブロックします。 | 
| 
									 | 
									 | ノードのないこの期間より古いマシンは、障害が発生したと見なされ、修正されます。ノードのないマシンが削除されないようにするには、この値を明示的に "0" に設定して起動チェックを無効にします。それぞれオプションの分数と単位接尾辞が付いた 10 進数の符号なし期間文字列 ("300ms"、"1.5h"、"2h45m" など) が必要です。有効な時間単位は、"ns"、"us" (または "µs")、"ms"、"s"、"m"、"h" です。 | 
| 
									 | 
									 | RemediationTemplate は、インフラストラクチャープロバイダーによって提供される修復テンプレートへの参照です。このフィールドは完全にオプションです。入力すると、MachineHealthCheck コントローラーは、参照されるテンプレートから新しいオブジェクトを作成し、マシンの修復を Machine API Operator の外部にあるコントローラーに渡します。 | 
| 
									 | 
									 | ヘルスが行使されるマシンに一致するようにセレクターにラベルを付けます。注: 空のセレクターはすべてのマシンに一致します。 | 
| 
									 | 
									 | UnhealthyConditions には、ノードが異常であると見なされるかどうかを決定する条件のリストが含まれています。条件は論理 OR で結合されます。つまり、条件のいずれかが満たされた場合、ノードは異常です。 | 
| 
									 | 
									 | UnhealthyCondition は、期間として指定されたタイムアウトを持つノード条件タイプと値を表します。指定された条件が少なくともタイムアウト値の間指定されたステータスにある場合、ノードは異常であると見なされます。 | 
8.1.2. .spec.remediationTemplate
- 説明
- RemediationTemplate は、インフラストラクチャープロバイダーによって提供される修復テンプレートへの参照です。このフィールドは完全にオプションです。入力すると、MachineHealthCheck コントローラーは、参照されるテンプレートから新しいオブジェクトを作成し、マシンの修復を Machine API Operator の外部にあるコントローラーに渡します。
- 型
- 
								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 | 
8.1.3. .spec.selector
- 説明
- ヘルスが行使されるマシンに一致するようにセレクターにラベルを付けます。注: 空のセレクターはすべてのマシンに一致します。
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。 | 
| 
									 | 
									 | ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。 | 
| 
									 | 
									 | matchLabels は、{key,value} ペアのマップです。matchLabels マップの 1 つの {key,value} は matchExpressions の要素と同じで、キーフィールドには "key"、演算子には "In"、値配列には "value" のみが含まれます。要件は AND で結合されます。 | 
8.1.4. .spec.selector.matchExpressions
- 説明
- matchExpressions はラベルセレクターの要件のリストです。要件は AND で結合されます。
- 型
- 
								array
8.1.5. .spec.selector.matchExpressions[]
- 説明
- ラベルセレクター要件は、値、キー、およびキーと値を関連付ける Operator を含むセレクターです。
- 型
- 
								object
- 必須
- 
										key
- 
										operator
 
- 
										
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | key は、セレクターの適用先のラベルキーです。 | 
| 
									 | 
									 | operator はキーと値のセットの関係を表します。有効な演算子は In、NotIn、Exists、および DoesNotExist です。 | 
| 
									 | 
									 | values は文字列値の配列です。operator が In または NotIn の場合には、values 配列を空白にできません。operator が Exists または DoesNotExist の場合には、values 配列は空白でなければなりません。この配列は、ストラテジーに基づいたマージパッチの適用中に置き換えられます。 | 
8.1.6. .spec.unhealthyConditions
- 説明
- UnhealthyConditions には、ノードが異常であると見なされるかどうかを決定する条件のリストが含まれています。条件は論理 OR で結合されます。つまり、条件のいずれかが満たされた場合、ノードは異常です。
- 型
- 
								array
8.1.7. .spec.unhealthyConditions[]
- 説明
- UnhealthyCondition は、期間として指定されたタイムアウトを持つノード条件タイプと値を表します。指定された条件が少なくともタイムアウト値の間指定されたステータスにある場合、ノードは異常であると見なされます。
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | |
| 
									 | 
									 | それぞれオプションの分数と単位接尾辞が付いた 10 進数の符号なし期間文字列 ("300ms"、"1.5h"、"2h45m" など) が必要です。有効な時間単位は、"ns"、"us" (または "µs")、"ms"、"s"、"m"、"h" です。 | 
| 
									 | 
									 | 
8.1.8. .status
- 説明
- MachineHealthCheck リソースの最近観察されたステータス
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | 条件は、MachineHealthCheck の現在の状態を定義します | 
| 
									 | 
									 | condition は、Machine API リソースの動作状態の監視を定義します。 | 
| 
									 | 
									 | このマシンヘルスチェックでカウントされたマシンの総数 | 
| 
									 | 
									 | このマシンヘルスチェックでカウントされたマシンの総数 | 
| 
									 | 
									 | RemediationsAllowed は、maxUnhealthy 短絡が適用される前に、このマシンヘルスチェックによって許可される追加の修復の数です。 | 
8.1.9. .status.conditions
- 説明
- 条件は、MachineHealthCheck の現在の状態を定義します
- 型
- 
								array
8.1.10. .status.conditions[]
- 説明
- condition は、Machine API リソースの動作状態の監視を定義します。
- 型
- 
								object
| プロパティー | 型 | 説明 | 
|---|---|---|
| 
									 | 
									 | 最後にある状態から別の状態に遷移した時間。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。 | 
| 
									 | 
									 | 遷移の詳細を示す人が判読できるメッセージ。このフィールドは空の場合があります。 | 
| 
									 | 
									 | CamelCase での状態の最後の遷移に関する理由。特定の API は、このフィールドが保証された API と見なされるかどうかを選択できます。このフィールドには空白を指定できません。 | 
| 
									 | 
									 | 重大度は理由コードの明示的な分類を提供するため、ユーザーまたはマシンは現在の状況を即座に理解し、それに応じて行動できます。Severity フィールドは、Status=False の場合にのみ設定する必要があります。 | 
| 
									 | 
									 | 状態のステータス (True、False、Unknown のいずれか)。 | 
| 
									 | 
									 | CamelCase または foo.example.com/CamelCase の条件のタイプ。多くの.condition.type 値は、Available などのリソース全体で一貫していますが、任意の条件が役立つ可能性があるため (.node.status.conditions を参照)、競合を解消する機能が重要です。 |