ステータスフィールド

状態の表示

GitRepos、HelmOps、Clusters、および Bundles は、Bundles を適用する各フェーズで異なる状態を持っています。

BundleDeployments からの状態は、Bundle、GitRepo、Cluster、および ClusterGroup に伝播されるため、同じように表示されます。違いはリソースに対する視点にあります。

GitRepo を見ると、GitRepo に関連するすべてのリソースの状態が表示されます。Cluster を見ると、その Cluster 内のすべての Bundles の状態が表示され、これらは多くの GitRepos にまたがる場合があります。Bundle を見ると、その Bundle 内のすべての BundleDeployments の状態が表示されます。

Ready 条件は、BundleDeployments が Ready 状態にあるかどうかを判断するために使用されます。 すべての BundleDeployments が Ready 状態にある場合、Ready 条件は True に設定されます。 少なくとも1つの BundleDeployment が Ready 状態にない場合、Ready 条件は False に設定されます。

すべての BundleDeployment の状態は、Ready ステータス条件の message フィールドに集約されます。メッセージが長くなりすぎないように、最初の10個の状態のみが表示されます。message フィールドには、各状態の BundleDeployments の数が含まれ、その後に BundleDeployment が存在する Cluster 名が続きます。Ready ステータスは message フィールドから除外されます。

次に例を示します。

status:
  conditions:
  - lastUpdateTime: "2025-06-25T14:59:35Z"
    message: WaitApplied(1) [Cluster fleet-default/downstream4]
    status: "False"
    type: Ready

SUSE® Rancher Prime Continuous Delivery は、リソースのステータスに基づいて BundleDeployments の準備完了ステータスを決定するために、sigs.k8s.io/cli-utils モジュールの kstatus パッケージを使用します。 詳細については、kstatus パッケージの README を参照してください。

準備完了ステータスの伝播

status.display フィールドは状態の概要を提供します。状態はランク付けされ、最悪の状態が`state`として`status.display`フィールドに使用されます。

これは状態が表示されるランクです。Bundle に異なる状態の BundleDeployment がある場合、最悪の状態が status.display.state フィールドに使用されます。 この状態は、Bundle から他のSUSE® Rancher Prime Continuous Deliveryリソース(GitRepos、Clusters、ClusterGroups)に伝播されます。

最良から最悪まで:

  • 準備完了

  • NotReady

  • 保留中

  • OutOfSync

  • 変更日時

  • WaitApplied

  • ErrApplied

バンドル

  • Ready :Bundles がデプロイされ、すべてのリソースが準備完了です。そうでない場合、message フィールドの Ready 条件には BundleDeployment の状態の集約が含まれます。

  • NotReady :BundleDeployments がデプロイされていますが、一部のリソースが準備完了ではありません(例えば、コンテナイメージがプルされているか、サービスが準備完了を報告していない)。

  • Pending :Bundles はFleetコントローラーによる処理のためにキューに入れられています。 これは、ロールアウトが一時停止されている場合に発生する可能性があります(ロールアウト戦略を参照)。

  • OutOfSync :Bundles はFleetコントローラーから同期されていますが、更新された BundleDeployments はまだ作成されていないため、ダウンストリームのエージェントは変更を同期できません。 ロールアウトが一時停止されている場合にもこのようなことが発生する可能性があります(ロールアウト戦略を参照してください)。

  • 変更済み :Bundles はデプロイされ、リソースは準備が整っていますが、一部のデプロイされたリソースは外部で変更され、Gitからではありません。

  • WaitApplied :Bundles は同期されていますが、デプロイを待っています。この状態が持続的に表示される場合、到達不可能なターゲットクラスターを示している可能性があります。

  • ErrApplied :Bundles は正常に同期されましたが、デプロイ中にエラーが発生しました。

クラスタ

  • 待機中チェックイン :エージェントが登録情報とクラスターの状態を報告するのを待っています。

  • Ready :この Cluster 内のすべての Bundles はデプロイされ、リソースは準備が整っています。

  • NotReady :この Cluster 内の一部の Bundles は準備が整っていません。

  • Pending :一部の Bundles は保留中です。

  • OutOfSync :一部の Bundles は同期されていません。

  • 変更済み :一部の Bundles は変更されています。

  • 待機中 :一部のバンドルは適用待ちです。

  • エラー適用済み :一部のバンドルにはエラーがあります。

GitRepo

  • Ready : 望ましい状態と現在の状態が一致する場合、TrueFalse の場合、メッセージの本文に含まれます:

    • GitJob コントローラーからのエラー、

    • バンドルからのエラー(例えば、テンプレートの失敗)、または

    • Ready にないバンドルの集約リスト。

  • GitPolling :ポーリングまたは初期クローンが進行中かどうかを示します。True ポーリングが成功した場合または無効になっている場合。

  • 調整中 :コントローラーは現在、変更を調整しています。

  • 停止中 :コントローラーはエラーに遭遇したか、進行できませんでした。

  • 承諾 :GitRepo 制限が適用され、外部 Helm シークレットが存在します。

HelmOp 条件

  • Ready : True すべての BundleDeployments が正常にデプロイされた場合、False いずれかが準備完了でない場合。

  • Accepted : False Helm オプションが無効、チャートのバージョンが解決できない、ポーリングに失敗した、または Bundle 作成に失敗した場合。

  • Polled : True ポーリングが成功した場合、そうでなければエラーメッセージとともに False

status.display

status.display フィールドは GitRepos と GitOps の間で共有されています。両方のリソースには、リソースの状態を要約する status.display フィールドが含まれています。state の値は、リソースの種類によって異なる場合があります。

  • readyBundleDeployments :`%d/%d`の形式の文字列で、準備完了のバンドルデプロイ数と総バンドルデプロイ数を示します。

  • state :GitRepoの状態を表します(例えば、GitUpdating)またはState Rankingに基づく最高のBundleStateです。`Ready`の場合、空の値に設定されます。

  • message :関連するデプロイメント条件メッセージが含まれています。

  • エラーメッセージが存在する場合、error : `true`です。

リソースリスト

ターゲットClustersにデプロイされたリソースは、`GitRepos`と`HelmOps`の下に分類されます。

GitReposの`status.ResourceCounts`リストは`bundleDeployments`から派生しています。

`perClusterResourceCounts`フィールドは、デプロイされたリソースに関するクラスターごとの統計を提供します。

perClusterResourceCounts:
    fleet-default/imported-0:
      desiredReady: 9
      missing: 0
      modified: 0
      notReady: 0
      orphaned: 0
      ready: 9
      unknown: 0
      waitApplied: 0
    fleet-default/imported-1:
      desiredReady: 9
      missing: 0
      modified: 0
      notReady: 0
      orphaned: 0
      ready: 9
      unknown: 0
      waitApplied: 0
    fleet-default/imported-2:
      desiredReady: 9
      missing: 0
      modified: 0
      notReady: 0
      orphaned: 0
      ready: 9
      unknown: 0
      waitApplied: 0
  readyClusters: 3
  resourceCounts:
    desiredReady: 27
    missing: 0
    modified: 0
    notReady: 0
    orphaned: 0
    ready: 27
    unknown: 0
    waitApplied: 0

これにより、どのクラスターが不完全または不整合なデプロイメントを持っているかを一目で特定できます。

`BundleDeployment`リソースには、より良い可視性のために2つの追加フィールドが含まれています:

  • incompleteState:非準備または変更されたリソースの状態が10項目を超える場合はtrueに設定されます。

  • resourceCounts:状態ごとのリソースの数をカウントします。

HelmOpsの`status.ResourceCounts`リストは`bundleDeployments`から派生しています。

リソースカウント

これは、リソース間でリソースカウントがどのように伝播するかを示します。

デプロイされたリソースは、`bundleDeployments`から派生した`status.Resources`の`GitRepos`の下にリストされています。

同様に、`HelmOps`のデプロイメントされたリソースは`status.Resources`にリストされており、`bundleDeployments`から派生しています。

Clustersでは、`status.ResourceCounts`はGitReposから派生しています。

ClusterGroupsでは、`status.ResourceCounts`はGitReposから派生しています。

クラス図

準備完了ステータスの伝播