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.19.17. GitOps ZTP のトラブルシューティング
前述のように、ArgoCD パイプラインは、Git リポジトリーからハブクラスターに SiteConfig
および PolicyGenTemplate
カスタムリソース (CR) を同期します。このプロセスで、同期後フックはハブクラスターにも適用されるインストールおよびポリシー CR を作成します。このプロセスで発生する可能性のある問題のトラブルシューティングを行うには、以下の手順に従います。
19.17.1. インストール CR の生成の検証 リンクのコピーリンクがクリップボードにコピーされました!
SiteConfig
は、サイト名と一致する名前を持つ namespace のハブクラスターに Installation カスタムリソース (CR) を適用します。ステータスを確認するには、以下のコマンドを入力します。
oc get AgentClusterInstall -n <cluster_name>
$ oc get AgentClusterInstall -n <cluster_name>
オブジェクトが返されない場合は、以下の手順を使用して ArgoCD パイプラインフローを SiteConfig
からインストール CR にトラブルシューティングします。
手順
以下のコマンドのいずれかを使用して、
SiteConfig
からハブクラスターへの同期を確認します。oc get siteconfig -A
$ oc get siteconfig -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または
oc get siteconfig -n clusters-sub
$ oc get siteconfig -n clusters-sub
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SiteConfig
がない場合、以下のいずれかの状況が発生しました。クラスター アプリケーションは、Git リポジトリーからハブへの CR の同期に失敗しました。以下のコマンドを使用してこれを確認します。
oc describe -n openshift-gitops application clusters
$ oc describe -n openshift-gitops application clusters
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Status: Synced
およびRevision:
は、サブスクライブしたリポジトリーにプッシュしたコミットの SHA です。- 同期前のフックが失敗しました。コンテナーイメージのプルに失敗した可能性があります。ArgoCD ダッシュボードで、クラスター アプリケーションで同期前のジョブのステータスを確認します。
post フックのジョブ実行を確認します。
oc describe job -n clusters-sub siteconfig-post
$ oc describe job -n clusters-sub siteconfig-post
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
成功すると、返される出力は
succeeded: 1
となります。 - ジョブが失敗すると、ArgoCD はこれを再試行します。場合によっては、最初のパスが失敗し、2 番目のパスにジョブが渡されることを示すことがあります。
-
成功すると、返される出力は
post フックのジョブでエラーの有無を確認します。
oc get pod -n clusters-sub
$ oc get pod -n clusters-sub
Copy to Clipboard Copied! Toggle word wrap Toggle overflow siteconfig-post-xxxxx
Pod の名前をメモします。oc logs -n clusters-sub siteconfig-post-xxxxx
$ oc logs -n clusters-sub siteconfig-post-xxxxx
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログでエラーを示す場合は、条件を修正し、修正された
SiteConfig
またはPolicyGenTemplate
を Git リポジトリーにプッシュします。
19.17.2. ポリシー CR の生成の検証 リンクのコピーリンクがクリップボードにコピーされました!
ArgoCD は、ポリシーカスタムリソース (CR) を作成した PolicyGenTemplate
と同じ namespace に生成します。同じトラブルシューティングフローは、共通、グループ、またはサイト ベースであるかに関係なく、PolicyGenTemplate
から生成されたすべてのポリシー CR に適用されます。
ポリシー CR のステータスを確認するには、以下のコマンドを入力します。
export NS=<namespace>
$ export NS=<namespace>
oc get policy -n $NS
$ oc get policy -n $NS
返される出力には、ポリシーラップされた CR の予想されるセットが表示されます。オブジェクトが返されない場合は、以下の手順を使用して ArgoCD パイプラインフローを SiteConfig
からポリシー CR にトラブルシューティングします。
手順
PolicyGenTemplate
のハブクラスターへの同期を確認します。oc get policygentemplate -A
$ oc get policygentemplate -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow または
oc get policygentemplate -n $NS
$ oc get policygentemplate -n $NS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PolicyGenTemplate
が同期されていない場合、以下のいずれかの状況が発生しました。クラスターアプリケーションは、Git リポジトリーからハブへの CR の同期に失敗しました。以下のコマンドを使用してこれを確認します。
oc describe -n openshift-gitops application clusters
$ oc describe -n openshift-gitops application clusters
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Status: Synced
およびRevision:
は、サブスクライブしたリポジトリーにプッシュしたコミットの SHA です。- 同期前のフックが失敗しました。コンテナーイメージのプルに失敗した可能性があります。ArgoCD ダッシュボードで、クラスター アプリケーションで同期前のジョブのステータスを確認します。
ポリシーがクラスターの namespace にコピーされていることを確認します。ACM がそのポリシーを
ManagedCluster
に適用すると、ACM はポリシー CR オブジェクトをクラスターの namespace に適用します。oc get policy -n <cluster_name>
$ oc get policy -n <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ACM は、該当する共通、グループ、およびサイトポリシーをすべてここにコピーします。ポリシー名は
<policyNamespace>
および<policyName> です
。クラスター namespace にコピーされないポリシーの配置ルールを確認します。これらのポリシーの
PlacementRule
のmatchSelector
は、ManagedCluster
のラベルと一致する必要があります 。oc get placementrule -n $NS
$ oc get placementrule -n $NS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 見つからない common、group、または site ポリシーの
PlacementRule
名をメモします。oc get placementrule -n $NS <placmentRuleName> -o yaml
oc get placementrule -n $NS <placmentRuleName> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
status decisions
値にはクラスター名が含まれる必要があります。 仕様の
matchSelector
のkey value
は、マネージドクラスターのラベルと一致する必要があります。ManagedCluster
のラベルを確認します。oc get ManagedCluster $CLUSTER -o jsonpath='{.metadata.labels}' | jq
oc get ManagedCluster $CLUSTER -o jsonpath='{.metadata.labels}' | jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
すべてのポリシーが準拠していることを確認します。
oc get policy -n $CLUSTER
oc get policy -n $CLUSTER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Namespace、OperatorGroup、および Subscription ポリシーが準拠していても、Operator 設定ポリシーが準拠していない場合は、Operator がインストールされていない可能性があります。