4.7. インストール CR の検証による GitOps ZTP のトラブルシューティング
ArgoCD パイプラインは SiteConfig
と、PolicyGenerator
または PolicyGentemplate
カスタムリソース (CR) を使用して、クラスター設定 CR と Red Hat Advanced Cluster Management (RHACM) ポリシーを生成します。以下の手順に従って、このプロセス時に発生する可能性のある問題のトラブルシューティングを行います。
前提条件
-
OpenShift CLI (
oc
) がインストールされている。 -
cluster-admin
権限を持つユーザーとしてハブクラスターにログインしている。
手順
インストール CR が作成されたことは、以下のコマンドで確認することができます。
$ oc get AgentClusterInstall -n <cluster_name>
オブジェクトが返されない場合は、以下の手順を使用して ArgoCD パイプラインフローを
SiteConfig
ファイルからインストール CR にトラブルシューティングします。ハブクラスターで
SiteConfig
CR を使用してManagedCluster
CR が生成されたことを確認します。$ oc get managedcluster
ManagedCluster
が見つからない場合は、clusters
アプリケーションが Git リポジトリーからハブクラスターへのファイルの同期に失敗したかどうかを確認します。$ oc get applications.argoproj.io -n openshift-gitops clusters -o yaml
マネージドクラスターのエラーログを識別するには、
status.operationState.syncResult.resources
フィールドを調べます。たとえば、SiteConfig
CR のextraManifestPath
に無効な値が割り当てられると、次のようなエラーが生成されます。syncResult: resources: - group: ran.openshift.io kind: SiteConfig message: The Kubernetes API could not find ran.openshift.io/SiteConfig for requested resource spoke-sno/spoke-sno. Make sure the "SiteConfig" CRD is installed on the destination cluster
より詳細な
SiteConfig
エラーを表示するには、次の手順を実行します。- Argo CD ダッシュボードで、Argo CD が同期しようとしている SiteConfig リソースをクリックします。
DESIRED MANIFEST タブをチェックして、
siteConfigError
フィールドを見つけます。siteConfigError: >- Error: could not build the entire SiteConfig defined by /tmp/kust-plugin-config-1081291903: stat sno-extra-manifest: no such file or directory
Status.Sync
フィールドを確認します。ログエラーがある場合、Status.Sync
フィールドはUnknown
エラーを示している可能性があります。Status: Sync: Compared To: Destination: Namespace: clusters-sub Server: https://kubernetes.default.svc Source: Path: sites-config Repo URL: https://git.com/ran-sites/siteconfigs/.git Target Revision: master Status: Unknown