第6章 ClusterVersion [config.openshift.io/v1]
- Description
- ClusterVersion は、ClusterVersionOperator の設定です。ここで、自動更新に関連するパラメーターを設定できます。互換性レベル 1: メジャーリリース内で最低 12 か月または 3 つのマイナーリリース (どちらか長い方) の間安定しています。
- 型
-
object
- 必須
-
spec
-
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 を参照してください。 | |
|
| spec は、クラスターバージョンの望ましい状態です。Operator は、望ましいバージョンがクラスターに適用されていることを確認するために作業します。 |
|
| status には、利用可能な更新と進行中の更新に関する情報が含まれます。 |
6.1.1. .spec
- Description
- spec は、クラスターバージョンの望ましい状態です。Operator は、望ましいバージョンがクラスターに適用されていることを確認するために作業します。
- タイプ
-
object
- 必須
-
clusterID
-
プロパティー | 型 | 説明 |
---|---|---|
|
| 機能 は、オプションのコアクラスターコンポーネントのインストールを設定します。ここでの null 値は空のオブジェクトと同じです。デフォルトセマンティクスの子プロパティーを参照してください。 |
|
| channel は、デフォルト以外の一連の更新をこのクラスターに適用することを明示的に要求するための ID です。デフォルトのチャネルには、本番クラスターに適した安定した更新が含まれます。 |
|
| clusterID は、このクラスターを一意に識別します。これは、RFC4122 UUID 値 (16 進値の xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) であると予想されます。これは必須フィールドです。 |
|
| desiredUpdate は、クラスターバージョンの目的の値を示すオプションのフィールドです。この値を設定すると、アップグレードがトリガーされます (現在のバージョンが目的のバージョンと一致しない場合)。推奨される更新値のセットは、ステータスで利用可能な更新の一部としてリストされており、その範囲外の値を設定すると、アップグレードが失敗する可能性があります。availableUpdates または履歴にそのバージョンの更新が存在する場合は、イメージを設定せずにバージョンフィールドを指定できます。アップグレードが失敗した場合、Operator は停止し、失敗したコンポーネントに関するステータスを報告します。目的の更新値を以前のバージョンに戻すと、ロールバックが試行されます。すべてのロールバックが成功するわけではありません。 |
|
| オーバーライドは、クラスターバージョン Operator によって管理されるコンポーネントのオーバーライドのリストです。コンポーネントにマネージド外のマークを付けると、Operator はオブジェクトを作成または更新できなくなります。 |
|
| ComponentOverride を使用すると、コンポーネントに対するクラスターバージョン Operator の動作をオーバーライドできます。 |
|
| アップストリームを使用して、優先する更新サーバーを指定できます。デフォルトでは、クラスターとリージョンに適切な更新サーバーを使用します。 |
6.1.2. .spec.capabilities
- 説明
- 機能 は、オプションのコアクラスターコンポーネントのインストールを設定します。ここでの null 値は空のオブジェクトと同じです。デフォルトセマンティクスの子プロパティーを参照してください。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| additionalEnabledCapabilities は、baselineCapabilitySet で定義されたベースラインを超えて管理機能のセットを拡張します。デフォルトは空のセットです。 |
|
| baselineCapabilitySet は、有効にするオプション機能の初期セットを選択します。これは、additionalEnabledCapabilities を介して拡張できます。設定されていない場合、クラスターはデフォルトを選択します。デフォルトは時間の経過とともに変更される可能性があります。現在のデフォルトは vCurrent です。 |
6.1.3. .spec.desiredUpdate
- Description
- desiredUpdate は、クラスターバージョンの目的の値を示すオプションのフィールドです。この値を設定すると、アップグレードがトリガーされます (現在のバージョンが目的のバージョンと一致しない場合)。推奨される更新値のセットは、ステータスで利用可能な更新の一部としてリストされており、その範囲外の値を設定すると、アップグレードが失敗する可能性があります。availableUpdates または履歴にそのバージョンの更新が存在する場合は、イメージを設定せずにバージョンフィールドを指定できます。アップグレードが失敗した場合、Operator は停止し、失敗したコンポーネントに関するステータスを報告します。目的の更新値を以前のバージョンに戻すと、ロールバックが試行されます。すべてのロールバックが成功するわけではありません。
- タイプ
-
object
プロパティー | 型 | Description |
---|---|---|
|
| Force を使用すると、管理者は検証またはアップグレード可能なチェックに失敗したイメージに更新できます。このオプションは、提供されたイメージがクラスターへの完全な管理アクセスで実行されるため、提供されたイメージの信頼性が帯域外で検証された場合にのみ使用する必要があります。未知の、または潜在的に悪意のあるソースからのイメージには、このフラグを使用しないでください。 |
|
| image は、更新を含むコンテナーイメージの場所です。このフィールドが仕様の一部である場合、バージョンが指定されていて、availableUpdates フィールドに一致するバージョンが含まれている場合、イメージはオプションです。 |
|
| version は、更新バージョンを識別するセマンティックバージョニングです。このフィールドが仕様の一部である場合、イメージが指定されている場合、バージョンはオプションです。 |
6.1.4. .spec.overrides
- Description
- オーバーライドは、クラスターバージョン Operator によって管理されるコンポーネントのオーバーライドのリストです。コンポーネントにマネージド外のマークを付けると、Operator はオブジェクトを作成または更新できなくなります。
- タイプ
-
array
6.1.5. .spec.overrides[]
- Description
- ComponentOverride を使用すると、コンポーネントに対するクラスターバージョン Operator の動作をオーバーライドできます。
- タイプ
-
object
- 必須
-
group
-
kind
-
name
-
namespace
-
unmanaged
-
プロパティー | 型 | 説明 |
---|---|---|
|
| group は、種類が含まれる API グループを識別します。 |
|
| kind は、オーバーライドするオブジェクトを識別します。 |
|
| name はコンポーネントの名前です。 |
|
| 名前空間は、コンポーネントの名前空間です。リソースがクラスタースコープの場合、名前空間は空である必要があります。 |
|
| クラスターバージョン Operator がこのクラスター内のリソースの管理を停止する必要がある場合は、アンマネージドコントロール。デフォルト: false |
6.1.6. .status
- Description
- status には、利用可能な更新と進行中の更新に関する情報が含まれます。
- タイプ
-
object
- 必須
-
desired
-
observedGeneration
-
versionHash
-
プロパティー | 型 | Description |
---|---|---|
| `` | availableUpdates には、このクラスターに推奨される更新が含まれています。conditionalUpdates に表示されますが、availableUpdates にはない更新により、このクラスターが既知の問題にさらされる可能性があります。更新が推奨されていない場合、更新サービスが利用できない場合、または無効なチャネルが指定されている場合、このリストは空になる可能性があります。 |
|
| capabilities は、オプションのコアクラスターコンポーネントの状態を記述します。 |
|
| conditionalUpdates には、特定の必要な条件を満たす場合にこのクラスターに推奨される可能性のある更新のリストが含まれています。このクラスターに実際に推奨される更新のセットに関心のあるコンシューマーは、availableUpdates を使用する必要があります。更新が推奨されていない場合、更新サービスが利用できない場合、または無効なチャネルが指定されている場合、このリストは空になる可能性があります。 |
|
| ConditionalUpdate は、現在のクラスターの一部のクラスターに対して推奨される更新を表しますが、現在のクラスターには推奨されません。 |
|
| 条件は、クラスターのバージョンに関する情報を提供します。条件 Available は、desiredUpdate に達した場合に true に設定されます。更新が適用されている場合、条件進行中は true に設定されます。更新が一時的または永続的なエラーによって現在ブロックされている場合、条件劣化は true に設定されます。条件は、metadata.generation が status.generation と等しい場合に、現在の desiredUpdate に対してのみ有効です。 |
|
| ClusterOperatorStatusCondition は、オペレーターの管理および監視対象コンポーネントの状態を表します。 |
|
| 必要なのは、クラスターが調整しているバージョンです。クラスターがまだ完全に初期化されていない場合は、イメージやタグなどの利用可能な情報が必要になります。 |
|
| 履歴には、クラスターに適用された最新バージョンのリストが含まれます。この値は、クラスターの起動時に空になる場合があり、新しい更新が適用されるときに更新されます。最新の更新はリストの最初にあり、最新の順序で並べられています。ロールアウトが完了した場合、履歴の更新の状態は Completed になります。更新が失敗した場合、または途中で適用された場合、状態は Partial になります。限られた量の更新履歴のみが保持されます。 |
|
| UpdateHistory は、クラスターに対して 1 回試行された更新です。 |
|
| observedGeneration は、同期されている仕様のバージョンを報告します。この値が metadata.generation と等しくない場合、目的のフィールドと条件フィールドは以前のバージョンを表している可能性があります。 |
|
| versionHash は、クラスターが更新されるコンテンツのフィンガープリントです。不必要な作業を避けるために Operator が使用し、内部使用のみを目的としています。 |
6.1.7. .status.capabilities
- 説明
- capabilities は、オプションのコアクラスターコンポーネントの状態を記述します。
- 型
-
object
プロパティー | 型 | 説明 |
---|---|---|
|
| EnabledCapabilities は、現在管理されているすべての機能を一覧表示します。 |
|
| knownCapabilities は、現在のクラスターに認識されているすべての機能を一覧表示します。 |
6.1.8. .status.conditionalUpdates
- 説明
- conditionalUpdates には、特定の必要な条件を満たす場合にこのクラスターに推奨される可能性のある更新のリストが含まれています。このクラスターに実際に推奨される更新のセットに関心のあるコンシューマーは、availableUpdates を使用する必要があります。更新が推奨されていない場合、更新サービスが利用できない場合、または無効なチャネルが指定されている場合、このリストは空になる可能性があります。
- 型
-
array
6.1.9. .status.conditionalUpdates[]
- 説明
- ConditionalUpdate は、現在のクラスターの一部のクラスターに対して推奨される更新を表しますが、現在のクラスターには推奨されません。
- 型
-
object
- 必須
-
release
-
risks
-
プロパティー | 型 | 説明 |
---|---|---|
|
| 条件は、条件付き更新の現在のステータスの監視を表します。既知のタイプは次のとおりです。* クラスターバージョンの Operator が risks[].matchingRules を評価しようとするかどうかの評価。* 現在のクラスターに更新が推奨されるかどうかについて、推奨しています。 |
|
|
条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパス.status.conditions で配列として直接使用することを目的としています。たとえば、次のように入力します。FooStatus struct{//foo の現在の状態の監視を表します。//既知の.status.conditions.type は次のとおりです: "Available"、"Progressing"、および "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition |
|
| release は更新のターゲットです。 |
|
| リスクは、ターゲットリリースへの更新に関連する問題の範囲を表します。cluster-version Operator はすべてのエントリーを評価し、エントリーが 1 つ以上あり、すべてのエントリーが更新を推奨する場合にのみ更新を推奨します。 |
|
| ConditionalUpdateRisk は条件付き更新を推奨しない理由とクラスターの状態を表します。 |
6.1.10. .status.conditionalUpdates[].conditions
- 説明
- 条件は、条件付き更新の現在のステータスの監視を表します。既知のタイプは次のとおりです。* クラスターバージョンの Operator が risks[].matchingRules を評価しようとするかどうかの評価。* 現在のクラスターに更新が推奨されるかどうかについて、推奨しています。
- 型
-
array
6.1.11. .status.conditionalUpdates[].conditions[]
- 説明
-
条件には、この API リソースの現在の状態の 1 つの側面の詳細が含まれています。--- この構造体は、フィールドパス.status.conditions で配列として直接使用することを目的としています。たとえば、次のように入力します。FooStatus struct{//foo の現在の状態の監視を表します。//既知の.status.conditions.type は次のとおりです: "Available"、"Progressing"、および "Degraded" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition
json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"
//その他のフィールド} - 型
-
object
- 必須
-
lastTransitionTime
-
message
-
reason
-
status
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| lastTransitionTime は、ある状態から別の状態に最後に遷移した時間です。これは、基本的な条件が変更された時点となります。不明な場合には、API フィールドが変更された時点を使用することも可能です。 |
|
| message は、遷移の詳細を示す人が判読できるメッセージです。空の文字列の場合もあります。 |
|
| observedGeneration は、それをベースに条件が設定された .metadata.generation を表します。たとえば、.metadata.generation が現在 12 で、.status.conditions[x].gitopsdGeneration が 9 の場合、インスタンスの現在の状態に対して条件が古くなっています。 |
|
| reason には、条件の最後の遷移の理由を示すプログラムによる識別子が含まれます。特定の条件タイプのプロデューサーは、このフィールドの期待値と意味、および値が保証された API と見なされるかどうかを定義できます。値は CamelCase 文字列である必要があります。このフィールドには空白を指定できません。 |
|
| 条件のステータス、True、False、Unknown のいずれか。 |
|
| CamelCase または foo.example.com/CamelCase の条件のタイプ。--- 多くの.condition.type 値は、Available などのリソース全体で一貫していますが、任意の条件が役立つ可能性があるため (.node.status.conditions を参照)、競合を解消する機能が重要です。一致する正規表現は (dns1123SubdomainFmt/)?(qualifiedNameFmt) です。 |
6.1.12. .status.conditionalUpdates[].release
- 説明
- release は更新のターゲットです。
- 型
-
object
プロパティー | 型 | Description |
---|---|---|
|
| チャネルは、リリースが現在属しているシンシナティチャネルのセットです。 |
|
| image は、更新を含むコンテナーイメージの場所です。このフィールドが仕様の一部である場合、バージョンが指定されていて、availableUpdates フィールドに一致するバージョンが含まれている場合、イメージはオプションです。 |
|
| url には、このリリースに関する情報が含まれています。この URL は、リリースの url メタデータプロパティーまたは更新 API によって返されるメタデータによって設定され、ユーザーインターフェイスにリンクとして表示される必要があります。URL フィールドは、テストリリースまたは夜間リリースには設定されない場合があります。 |
|
| version は、更新バージョンを識別するセマンティックバージョニングです。このフィールドが仕様の一部である場合、イメージが指定されている場合、バージョンはオプションです。 |
6.1.13. .status.conditionalUpdates[].risks
- 説明
- リスクは、ターゲットリリースへの更新に関連する問題の範囲を表します。cluster-version Operator はすべてのエントリーを評価し、エントリーが 1 つ以上あり、すべてのエントリーが更新を推奨する場合にのみ更新を推奨します。
- 型
-
array
6.1.14. .status.conditionalUpdates[].risks[]
- 説明
- ConditionalUpdateRisk は条件付き更新を推奨しない理由とクラスターの状態を表します。
- 型
-
object
- 必須
-
matchingRules
-
message
-
name
-
url
-
プロパティー | 型 | 説明 |
---|---|---|
|
| matchingRules は、リスクに一致するクラスターとないクラスターを決定するための条件のスライスです。スライスは、優先順位を下げることで順序付けられます。cluster-version Operator はスライスを順番に調整し、最初に正常に評価できる後に停止します。正常に評価できない場合、更新は推奨されません。 |
|
| ClusterCondition は、入力したクラスターの状態の結合です。type プロパティーは、関連するタイプ固有のプロパティーを決定します。クラスターで評価されると、条件が一致したり、一致せず、評価に失敗する可能性があります。 |
|
| Message は、一致するRules がクラスターの状態に一致するイベントで、更新のリスクに関する追加情報を提供します。これは人間によってのみ消費されます。改行文字 (U + 000A) が含まれている場合があり、改行としてレンダリングする必要があります。 |
|
| name は、matchRules がクラスターの状態に一致するイベントで、条件付き更新を推奨しない CamelCase の理由です。 |
|
| url には、このリリースに関する情報が含まれています。 |
6.1.15. .status.conditionalUpdates[].risks[].matchingRules
- 説明
- matchingRules は、リスクに一致するクラスターとないクラスターを決定するための条件のスライスです。スライスは、優先順位を下げることで順序付けられます。cluster-version Operator はスライスを順番に調整し、最初に正常に評価できる後に停止します。正常に評価できない場合、更新は推奨されません。
- 型
-
array
6.1.16. .status.conditionalUpdates[].risks[].matchingRules[]
- 説明
- ClusterCondition は、入力したクラスターの状態の結合です。type プロパティーは、関連するタイプ固有のプロパティーを決定します。クラスターで評価されると、条件が一致したり、一致せず、評価に失敗する可能性があります。
- 型
-
object
- 必須
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| PromQL は、PromQL に基づいてクラスターの状態を表します。 |
|
| type は cluster-condition タイプを表します。これは、追加プロパティーのメンバーとセマンティクスを定義します。 |
6.1.17. .status.conditionalUpdates[].risks[].matchingRules[].promql
- 説明
- PromQL は、PromQL に基づいてクラスターの状態を表します。
- 型
-
object
- 必須
-
promQL
-
プロパティー | 型 | 説明 |
---|---|---|
|
| PromQL は、クラスターを分類する PromQL クエリーです。このクエリーは、一致ケースで 1 を、does-not-match ケースで 0 を返す必要があります。時系列を返すクエリー、または 0 または 1 以外の値を返すクエリーは、評価の失敗です。 |
6.1.18. .status.conditions
- Description
- 条件は、クラスターのバージョンに関する情報を提供します。条件 Available は、desiredUpdate に達した場合に true に設定されます。更新が適用されている場合、条件進行中は true に設定されます。更新が一時的または永続的なエラーによって現在ブロックされている場合、条件劣化は true に設定されます。条件は、metadata.generation が status.generation と等しい場合に、現在の desiredUpdate に対してのみ有効です。
- タイプ
-
array
6.1.19. .status.conditions[]
- Description
- ClusterOperatorStatusCondition は、オペレーターの管理および監視対象コンポーネントの状態を表します。
- タイプ
-
object
- 必須
-
lastTransitionTime
-
status
-
type
-
プロパティー | 型 | 説明 |
---|---|---|
|
| lastTransitionTime は、現在のステータスプロパティーが最後に更新された時刻です。 |
|
| メッセージは、現在の状態に関する追加情報を提供します。これは人間によってのみ消費されます。改行文字 (U + 000A) が含まれている場合があり、改行としてレンダリングする必要があります。 |
|
| 理由は、状態の現在のステータスのキャメルケースの理由です。 |
|
| 条件のステータス、True、False、Unknown のいずれか。 |
|
| type は、この条件によって報告されるアスペクトを指定します。 |
6.1.20. .status.desired
- Description
- 必要なのは、クラスターが調整しているバージョンです。クラスターがまだ完全に初期化されていない場合は、イメージやタグなどの利用可能な情報が必要になります。
- タイプ
-
object
プロパティー | 型 | Description |
---|---|---|
|
| チャネルは、リリースが現在属しているシンシナティチャネルのセットです。 |
|
| image は、更新を含むコンテナーイメージの場所です。このフィールドが仕様の一部である場合、バージョンが指定されていて、availableUpdates フィールドに一致するバージョンが含まれている場合、イメージはオプションです。 |
|
| url には、このリリースに関する情報が含まれています。この URL は、リリースの url メタデータプロパティーまたは更新 API によって返されるメタデータによって設定され、ユーザーインターフェイスにリンクとして表示される必要があります。URL フィールドは、テストリリースまたは夜間リリースには設定されない場合があります。 |
|
| version は、更新バージョンを識別するセマンティックバージョニングです。このフィールドが仕様の一部である場合、イメージが指定されている場合、バージョンはオプションです。 |
6.1.21. .status.history
- Description
- 履歴には、クラスターに適用された最新バージョンのリストが含まれます。この値は、クラスターの起動時に空になる場合があり、新しい更新が適用されるときに更新されます。最新の更新はリストの最初にあり、最新の順序で並べられています。ロールアウトが完了した場合、履歴の更新の状態は Completed になります。更新が失敗した場合、または途中で適用された場合、状態は Partial になります。限られた量の更新履歴のみが保持されます。
- タイプ
-
array
6.1.22. .status.history[]
- Description
- UpdateHistory は、クラスターに対して 1 回試行された更新です。
- タイプ
-
object
- 必須
-
image
-
startedTime
-
state
-
検証済み
-
プロパティー | 型 | 説明 |
---|---|---|
|
| acceptedRisks は、更新を開始するために受け入れられたリスクを記録します。たとえば、Upgradeable=False、desiredUpdate.force によってオーバーライドされた署名がない、または、推奨更新ターゲットの availableUpdates セットにないにもかかわらず、開始された更新が原因として確認される場合があります。 |
| `` | 設定されている場合、completionTime は、更新が完全に適用されたときです。現在適用されている更新の完了時間は null になります。完了時間は、現在の更新ではないエントリー (通常は次の更新の開始時間) に常に設定されます。 |
|
| image は、更新を含むコンテナーイメージの場所です。この値は常に入力されます。 |
|
| startTime は、更新が開始された時刻です。 |
|
| 状態は、更新が完全に適用されたかどうかを反映します。部分状態は、更新が完全に適用されていないことを示し、完了状態は、更新が少なくとも 1 回正常にロールアウトされたことを示します (更新のすべての部分が正常に適用されました)。 |
|
| 検証済みは、提供された更新がインストール前に適切に検証されたかどうかを示します。これが false の場合、クラスターは信頼されていない可能性があります。verified は、更新ターゲットが受け入れられる時点のクラスターの状態に依存する、アップグレード可能なチェックをカバーしません。 |
|
| version は、更新バージョンを識別するセマンティックバージョニングです。要求されたイメージがバージョンを定義していない場合、またはイメージの取得に失敗した場合、この値は空である可能性があります。 |