16.4.3. 1 つのステップでマネージドクラスターのイメージベースのアップグレードを大規模に実行する
サービスの中断が問題にならないユースケースの場合は、ImageBasedGroupUpgrade CR を使用し、1 つのロールアウトストラテジーによって複数のアクションを 1 つのステップに組み合わせることで、マネージドクラスターのセットをアップグレードできます。ロールアウトストラテジーを 1 つにすると、アップグレード時間を短縮できます。ただし、アップグレードプランが完了した後でないと、失敗したクラスターのトラブルシューティングを行うことができません。
前提条件
-
cluster-admin権限を持つユーザーとしてハブクラスターにログインしている。 -
イメージベースのアップグレードで使用するリソースのポリシーと
ConfigMapオブジェクトを作成した。 - ハブクラスターを介して、すべてのマネージドクラスターに Lifecycle Agent と OADP Operator をインストールした。
手順
ハブクラスターで、
ImageBasedGroupUpgradeCR を含む YAML ファイルを作成します。apiVersion: lcm.openshift.io/v1alpha1 kind: ImageBasedGroupUpgrade metadata: name: <filename> namespace: default spec: clusterLabelSelectors:1 - matchExpressions: - key: name operator: In values: - spoke1 - spoke4 - spoke6 ibuSpec: seedImageRef:2 image: quay.io/seed/image:4.20.0-rc.1 version: 4.20.0-rc.1 pullSecretRef: name: "<seed_pull_secret>" extraManifests:3 - name: example-extra-manifests namespace: openshift-lifecycle-agent oadpContent:4 - name: oadp-cm namespace: openshift-adp plan:5 - actions: ["Prep", "Upgrade", "FinalizeUpgrade"] rolloutStrategy: maxConcurrency: 2006 timeout: 24007 - 1
- アップグレードするクラスター。
- 2
- ターゲットプラットフォームのバージョン、使用するシードイメージ、およびイメージにアクセスするために必要なシークレット。注記
ハブクラスターの
ImageBasedGroupUpgradeリソースと同じ namespace にシードイメージプルシークレットを追加すると、そのシークレットがPrepステージのマニフェストリストに追加されます。シークレットは、openshift-lifecycle-agentnamespace 内の各スポーククラスターで再作成されます。 - 3
- オプション: シードイメージに含まれていない追加のマニフェストをターゲットクラスターに適用します。カスタムカタログソースの
ConfigMapオブジェクトも適用します。 - 4
- OADP の
BackupおよびRestoreCR を含むConfigMapリソース。 - 5
- アップグレードプランの詳細。
- 6
- バッチで更新するクラスターの数。
- 7
- アクションを完了するまでのタイムアウト制限 (分単位)。
ハブクラスターで次のコマンドを実行して、作成したファイルを適用します。
$ oc apply -f <filename>.yaml
検証
次のコマンドを実行してステータスの更新を監視します。
$ oc get ibgu -o yaml出力例
# ... status: clusters: - completedActions: - action: Prep failedActions: - action: Upgrade name: spoke1 - completedActions: - action: Prep - action: Upgrade - action: FinalizeUpgrade name: spoke4 - failedActions: - action: Prep name: spoke6 # ...