16.4.3. 1 つのステップでマネージドクラスターのイメージベースのアップグレードを大規模に実行する
サービスの中断が問題にならないユースケースでは、ImageBasedGroupUpgrade カスタムリソース (CR) を使用して、マネージドクラスターのセットをアップグレードできます。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: - matchExpressions: - key: name operator: In values: - spoke1 - spoke4 - spoke6 ibuSpec: seedImageRef: image: quay.io/seed/image:4.22.0 version: 4.22.0 pullSecretRef: name: "<seed_pull_secret>" extraManifests: - name: example-extra-manifests namespace: openshift-lifecycle-agent oadpContent: - name: oadp-cm namespace: openshift-adp plan: - actions: ["Prep", "Upgrade", "FinalizeUpgrade"] rolloutStrategy: maxConcurrency: 200 timeout: 2400詳細は、以下のようになります。
-
clusterLabelSelectors: アップグレードするクラスター。 -
seedImageRef: ターゲットプラットフォームのバージョン、シードイメージ、およびイメージにアクセスするために必要なシークレット。
注記ハブクラスターの
ImageBasedGroupUpgradeリソースと同じ namespace にシードイメージプルシークレットを追加すると、そのシークレットがPrepステージのマニフェストリストに追加されます。シークレットは、openshift-lifecycle-agentnamespace 内の各スポーククラスターで再作成されます。-
extraManifests: オプション: シードイメージに含まれていない追加のマニフェストをターゲットクラスターに適用します。カスタムカタログソースのConfigMapオブジェクトも適用します。 -
oadpContent: OADP のBackupおよびRestoreCR を含むConfigMapリソースのリスト。 -
plan: アップグレードプランの詳細。 -
maxConcurrency: バッチで更新するクラスターの数。 -
timeout: アクションを完了するまでのタイムアウト制限 (分単位)。
-
ハブクラスターで次のコマンドを実行して、作成したファイルを適用します。
$ 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 # ...