This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.16.5. ClusterGroupUpgrade CR
Topology Aware Lifecycle Manager (TALM) は、クラスター グループの ClusterGroupUpgrade CR から修復計画を作成します。ClusterGroupUpgrade CR で次の仕様を定義できます。
- グループのクラスター
-
ClusterGroupUpgradeCR のブロック - 管理ポリシーの適用リスト
- 同時更新の数
- 適用可能なカナリア更新
- 更新前後に実行するアクション
- 更新タイミング
TALM は指定されたクラスターへのポリシーの修復を通じて機能するため、ClusterGroupUpgrade CR は次の状態になる可能性があります。
-
UpgradeNotStarted -
UpgradeCannotStart -
UpgradeNotComplete -
UpgradeTimedOut -
UpgradeCompleted -
PrecachingRequired
TALM がクラスターの更新を完了した後、同じ ClusterGroupUpgrade CR の制御下でクラスターが再度更新されることはありません。次の場合は、新しい ClusterGroupUpgrade CR を作成する必要があります。
- クラスターを再度更新する必要がある場合
-
クラスターが更新後に
informポリシーで非準拠に変更された場合
16.5.1. UpgradeNotStarted 状態 リンクのコピーリンクがクリップボードにコピーされました!
ClusterGroupUpgrade CR の初期状態は UpgradeNotStarted です。
TALM は以下のフィールドに基づいて修復計画をビルドします。
-
clusterSelectorフィールドは、更新するクラスターのラベルを指定します。 -
clustersフィールドは、更新するクラスターのリストを指定します。 -
canariesフィールドは、カナリア更新のクラスターを指定します。 -
maxConcurrencyフィールドは、バッチで更新するクラスターの数を指定します。
clusters フィールドと clusterSelector フィールドを一緒に使用して、結合されたクラスターのリストを作成できます。
修復計画は、canaries フィールドにリストされているクラスターから開始されます。各カナリアクラスターは、単一クラスターバッチを形成します。
カナリアクラスターの更新中に障害が発生すると、更新プロセスが停止します。
ClusterGroupUpgrade CR は、修復計画が正常に作成され、enable フィールドが true に設定された後、UpgradeNotCompleted 状態に移行します。この時点で、TALM は指定されたマネージドクラスターでコンプライアンス違反のクラスターの更新を開始します。
ClusterGroupUpgrade CR が UpgradeNotStarted または UpgradeCannotStart 状態の場合にのみ、spec フィールドを変更できます。
UpgradeNotStarted 状態の ClusterGroupUpgrade CR のサンプル
16.5.2. UpgradeCannotStart 状態 リンクのコピーリンクがクリップボードにコピーされました!
UpgradeCannotStart 状態では、以下の理由により更新を開始できません。
- システムに CR のブロックがない
- ブロッキング CR がまだ終了していない
16.5.3. UpgradeNotCompleted 状態 リンクのコピーリンクがクリップボードにコピーされました!
UpgradeNotCompleted 状態では、TALM は UpgradeNotStarted 状態で定義される修復計画に従ってポリシーを強制します。
以降のバッチに対するポリシーの適用は、現在のバッチのすべてのクラスターがすべての管理ポリシーに準拠した直後に開始されます。バッチがタイムアウトすると、TALM は次のバッチに移動します。バッチのタイムアウト値は、spec.timeout フィールドは修復計画のバッチ数で除算されます。
管理されたポリシーは、ClusterGroupUpgrade CR の managedPolicies フィールドにリスト表示される順序で適用されます。1 つの管理ポリシーが一度に指定されたクラスターに適用されます。指定されたクラスターが現在のポリシーに準拠した後、次の管理ポリシーが次の準拠していないクラスターに適用されます。
UpgradeNotCompleted 状態の ClusterGroupUpgrade CR の例
16.5.4. UpgradeTimedOut 状態 リンクのコピーリンクがクリップボードにコピーされました!
UpgradeTimedOut 状態で、TALM は ClusterGroupUpgrade CR のすべてのポリシーが準拠しているかどうかを 1 時間ごとに確認します。チェックは、ClusterGroupUpgrade CR が削除されるか、更新が完了するまで継続されます。定期的なチェックにより、ネットワーク、CPU、またはその他の問題により発生する場合に更新が完了できます。
TALM は、2 つの場合に UpgradeTimedOut 状態に移行します。
- 現在のバッチにカナリア更新が含まれており、バッチ内のクラスターがバッチ タイムアウト内のすべての管理ポリシーに準拠していない場合。
-
クラスターが
remediationStrategyフィールドに指定されたtimeout値内で管理ポリシーに準拠しない場合。
ポリシーが準拠している場合、TALM は UpgradeCompleted 状態に移行します。
16.5.5. UpgradeCompleted 状態 リンクのコピーリンクがクリップボードにコピーされました!
UpgradeCompleted 状態で、クラスターの更新が完了します。
UpgradeCompleted 状態の ClusterGroupUpgrade CR のサンプル
PrecachingRequired 状態の場合は、更新を開始する前に、クラスターにイメージを事前キャッシュする必要があります。事前キャッシュの詳細は、コンテナー イメージの事前キャッシュ機能の使用セクションを参照してください。
16.5.6. ClusterGroupUpgrade CR のブロック リンクのコピーリンクがクリップボードにコピーされました!
複数の ClusterGroupUpgrade CR を作成して、それらの適用順序を制御できます。
たとえば、ClusterGroupUpgrade CR A の開始をブロックする ClusterGroupUpgrade CR C を作成する場合、ClusterGroupUpgrade CR A は ClusterGroupUpgrade CR C のステータスが UpgradeComplete になるまで起動できません。
1 つの ClusterGroupUpgrade CR には複数のブロッキング CR を含めることができます。この場合、現在の CR のアップグレードを開始する前に、すべてのブロッキング CR を完了する必要があります。
前提条件
- Topology Aware Lifecycle Manager (TALM) をインストールします。
- 1 つ以上のマネージドクラスターをプロビジョニングします。
-
cluster-admin権限を持つユーザーとしてログインしている。 - ハブクラスターで RHACM ポリシーを作成します。
手順
ClusterGroupUpgradeCR の内容をcgu-a.yaml、cgu-b.yaml、およびcgu-c.yamlファイルに保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ブロッキング CR を定義します。
cgu-cが完了するまでcgu-aの更新を開始できません。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
cgu-aが完了するまでcgu-bの更新を開始できません。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
cgu-cの更新にはブロック CR がありません。TALM は、enableフィールドがtrueに設定されている場合にcgu-cの更新を開始します。
関連する CR ごとに以下のコマンドを実行して
ClusterGroupUpgradeCR を作成します。oc apply -f <name>.yaml
$ oc apply -f <name>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 関連する各 CR について以下のコマンドを実行して、更新プロセスを開始します。
oc --namespace=default patch clustergroupupgrade.ran.openshift.io/<name> \ --type merge -p '{"spec":{"enable":true}}'$ oc --namespace=default patch clustergroupupgrade.ran.openshift.io/<name> \ --type merge -p '{"spec":{"enable":true}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例は、
enableフィールドがtrueに設定されているClusterGroupUpgradeCR を示しています。ブロッキング CR のある
cgu-aの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ブロッキング CR のリストを表示します。
ブロッキング CR のある
cgu-bの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ブロッキング CR のリストを表示します。
CR をブロックする
cgu-cの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
cgu-cの更新にはブロック CR がありません。