13.5. ClusterGroupUpgrade CR


Topology Aware Lifecycle Manager (TALM) は、クラスターグループの ClusterGroupUpgrade CR から修復計画を作成します。ClusterGroupUpgrade CR で次の仕様を定義できます。

  • グループのクラスター
  • ClusterGroupUpgrade CR のブロック
  • 管理ポリシーの適用リスト
  • 同時更新の数
  • 適用可能なカナリア更新
  • 更新前後に実行するアクション
  • 更新タイミング

ClusterGroupUpgrade CR の enable フィールドを使用して、更新の開始時刻を制御できます。たとえば、メンテナンスウィンドウが 4 時間にスケジュールされている場合、enable フィールドを false に設定して ClusterGroupUpgrade CR を準備できます。

次のように spec.remediationStrategy.timeout 設定を設定することで、タイムアウトを設定できます。

spec
  remediationStrategy:
          maxConcurrency: 1
          timeout: 240

batchTimeoutAction を使用して、クラスターの更新が失敗した場合にどうなるかを判断できます。continue を指定して失敗したクラスターをスキップし、他のクラスターのアップグレードを続行するか、abort を指定してすべてのクラスターのポリシー修復を停止することができます。タイムアウトが経過すると、TALM はすべての enforce ポリシーを削除して、クラスターがそれ以上更新されないようにします。

変更を適用するには、enabled フィールドを true に設定します。

詳細は、「マネージドクラスターへの更新ポリシーの適用」セクションを参照してください。

TALM は指定されたクラスターへのポリシーの修復を通じて機能するため、ClusterGroupUpgrade CR は多くの条件について true または false のステータスを報告できます。

注記

TALM がクラスターの更新を完了した後、同じ ClusterGroupUpgrade CR の制御下でクラスターが再度更新されることはありません。次の場合は、新しい ClusterGroupUpgrade CR を作成する必要があります。

  • クラスターを再度更新する必要がある場合
  • クラスターが更新後に inform ポリシーで非準拠に変更された場合

13.5.1. クラスターの選択

TALM は修復計画を作成し、次のフィールドに基づいてクラスターを選択します。

  • clusterLabelSelector フィールドは、更新するクラスターのラベルを指定します。これは、k8s.io/apimachinery/pkg/apis/meta/v1 からの標準ラベルセレクターのリストで構成されます。リスト内の各セレクターは、ラベル値ペアまたはラベル式のいずれかを使用します。各セレクターからの一致は、clusterSelector フィールドおよび cluster フィールドからの一致と共に、クラスターの最終リストに追加されます。
  • clusters フィールドは、更新するクラスターのリストを指定します。
  • canaries フィールドは、カナリア更新のクラスターを指定します。
  • maxConcurrency フィールドは、バッチで更新するクラスターの数を指定します。
  • actions フィールドは、更新プロセスを開始するときに TALM が実行する beforeEnable アクションと、各クラスターのポリシー修復を完了するときに TALM が実行する afterCompletion アクションを指定します。

clustersclusterLabelSelector、および clusterSelector フィールドを一緒に使用して、クラスターの結合リストを作成できます。

修復計画は、canaries フィールドにリストされているクラスターから開始されます。各カナリアクラスターは、単一クラスターバッチを形成します。

有効な fieldfalse に設定されたサンプル ClusterGroupUpgrade CR

apiVersion: ran.openshift.io/v1alpha1
kind: ClusterGroupUpgrade
metadata:
  creationTimestamp: '2022-11-18T16:27:15Z'
  finalizers:
    - ran.openshift.io/cleanup-finalizer
  generation: 1
  name: talm-cgu
  namespace: talm-namespace
  resourceVersion: '40451823'
  uid: cca245a5-4bca-45fa-89c0-aa6af81a596c
Spec:
  actions:
    afterCompletion:
      addClusterLabels:
        upgrade-done: ""
      deleteClusterLabels:
        upgrade-running: ""
      deleteObjects: true
    beforeEnable:
      addClusterLabels:
        upgrade-running: ""
  clusters:
    - spoke1
  enable: false
  managedPolicies:
    - talm-policy
  preCaching: false
  remediationStrategy:
    canaries:
        - spoke1
    maxConcurrency: 2
    timeout: 240
  clusterLabelSelectors:
    - matchExpressions:
      - key: label1
      operator: In
      values:
        - value1a
        - value1b
  batchTimeoutAction:
status:
    computedMaxConcurrency: 2
    conditions:
      - lastTransitionTime: '2022-11-18T16:27:15Z'
        message: All selected clusters are valid
        reason: ClusterSelectionCompleted
        status: 'True'
        type: ClustersSelected
      - lastTransitionTime: '2022-11-18T16:27:15Z'
        message: Completed validation
        reason: ValidationCompleted
        status: 'True'
        type: Validated
      - lastTransitionTime: '2022-11-18T16:37:16Z'
        message: Not enabled
        reason: NotEnabled
        status: 'False'
        type: Progressing
    managedPoliciesForUpgrade:
      - name: talm-policy
        namespace: talm-namespace
    managedPoliciesNs:
      talm-policy: talm-namespace
    remediationPlan:
      - - spoke1
      - - spoke2
        - spoke3
    status:

  • Spec.actions.afterCompletion は、TALM が各クラスターのポリシー修復を完了したときに実行するアクションを指定します。
  • Spec.actions.beforeEnable は、TALM が更新プロセスを開始する際に実行するアクションを指定します。
  • Spec.clusters は、更新するクラスターのリストを定義します。
  • Spec.enable のenable フィールドは false に設定されています。
  • Spec.managedPolicies には、修復対象となるユーザー定義のポリシーセットがリスト表示されます。
  • Spec.remediationStrategy は、クラスターの更新の詳細を定義します。
  • Spec.preCaching.canaries は、カナリアアップデート用のクラスターを定義します。
  • Spec.preCaching.maxConcurrency は、バッチ内の同時更新の最大数を定義します。修復バッチの数は、カナリアクラスターの数に加えて、カナリアクラスターを除くクラスターの数を maxConcurrency 値で除算します。すべての管理ポリシーに準拠しているクラスターは、修復計画から除外されます。
  • Spec.clusterLabelSelectors は、クラスターを選択するためのパラメーターを表示します。
  • Spec.batchTimeoutAction は、バッチがタイムアウトした場合に何が起こるかを制御します。可能な値は abort または continue です。指定しない場合、デフォルトは continue です。
  • status には、アップデートのステータスに関する情報が表示されます。
  • Spec.preCaching.conditions.type ClustersSelected 条件は、選択されたすべてのクラスターが有効であることを示します。
  • Spec.preCaching.conditions.type のValidated 条件は、選択されたすべてのクラスターが検証済みであることを示します。
注記

カナリアクラスターの更新中に障害が発生すると、更新プロセスが停止します。

修復計画が正常に作成されたら、enable フィールドを true に設定できます。TALM は、指定された管理ポリシーを使用して、準拠していないクラスターの更新を開始します。

注記

ClusterGroupUpgrade CR の enable フィールドが false に設定されている場合にのみ、spec フィールドを変更できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る