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 -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow または
oc get siteconfig -n clusters-sub
$ oc get siteconfig -n clusters-subCopy to Clipboard Copied! Toggle word wrap Toggle overflow SiteConfigがない場合、以下のいずれかの状況が発生しました。クラスター アプリケーションは、Git リポジトリーからハブへの CR の同期に失敗しました。以下のコマンドを使用してこれを確認します。
oc describe -n openshift-gitops application clusters
$ oc describe -n openshift-gitops application clustersCopy 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-postCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
成功すると、返される出力は
succeeded: 1となります。 - ジョブが失敗すると、ArgoCD はこれを再試行します。場合によっては、最初のパスが失敗し、2 番目のパスにジョブが渡されることを示すことがあります。
-
成功すると、返される出力は
post フックのジョブでエラーの有無を確認します。
oc get pod -n clusters-sub
$ oc get pod -n clusters-subCopy to Clipboard Copied! Toggle word wrap Toggle overflow siteconfig-post-xxxxxPod の名前をメモします。oc logs -n clusters-sub siteconfig-post-xxxxx
$ oc logs -n clusters-sub siteconfig-post-xxxxxCopy 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 -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow または
oc get policygentemplate -n $NS
$ oc get policygentemplate -n $NSCopy to Clipboard Copied! Toggle word wrap Toggle overflow PolicyGenTemplateが同期されていない場合、以下のいずれかの状況が発生しました。クラスターアプリケーションは、Git リポジトリーからハブへの CR の同期に失敗しました。以下のコマンドを使用してこれを確認します。
oc describe -n openshift-gitops application clusters
$ oc describe -n openshift-gitops application clustersCopy 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 $NSCopy 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 yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
status decisions値にはクラスター名が含まれる必要があります。 仕様の
matchSelectorのkey valueは、マネージドクラスターのラベルと一致する必要があります。ManagedClusterのラベルを確認します。oc get ManagedCluster $CLUSTER -o jsonpath='{.metadata.labels}' | jqoc get ManagedCluster $CLUSTER -o jsonpath='{.metadata.labels}' | jqCopy 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 $CLUSTERCopy to Clipboard Copied! Toggle word wrap Toggle overflow Namespace、OperatorGroup、および Subscription ポリシーが準拠していても、Operator 設定ポリシーが準拠していない場合は、Operator がインストールされていない可能性があります。