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 管道会将 SiteConfig 和 PolicyGenTemplate 自定义资源 (CR) 从 Git 存储库同步到 hub 集群。在此过程中,同步后 hook 会创建也会应用到 hub 集群的安装和策略 CR。使用以下步骤排除在此过程中可能出现的问题。
			
19.17.1. 验证安装 CR 的生成
					SiteConfig 将安装自定义资源 (CR) 应用到名称与站点名称匹配的命名空间中的 hub 集群。要检查状态,请输入以下命令:
				
oc get AgentClusterInstall -n <cluster_name>
$ oc get AgentClusterInstall -n <cluster_name>
					如果没有返回对象,请使用以下步骤对 SiteConfig 到安装 CR 的 ArgoCD 管道流进行故障排除。
				
流程
- 使用以下命令之一检查 - SiteConfig到 hub 集群的同步:- 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,则出现以下情况之一:- clusters 应用程序无法将 CR 从 Git 存储库同步到 hub。使用以下命令验证以下内容: - 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。
- 预同步 hook 失败,可能是因为拉取容器镜像失败。检查 ArgoCD 仪表板,了解 clusters 应用程序中预同步作业的状态。
 
- 验证 post hook 作业是否运行: - 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 会重试它。在某些情况下,第一次通过将失败,第二次通过将指示作业通过。
 
- 
									如果成功,返回的输出表示 
- 检查 post hook 任务中的错误: - oc get pod -n clusters-sub - $ oc get pod -n clusters-sub- Copy 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-xxxxx- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果日志指出错误,请更正条件,并将更正的 - SiteConfig或- PolicyGenTemplate推送到 Git 存储库。
19.17.2. 验证策略 CR 的生成
					ArgoCD 在与创建它们的 PolicyGenTemplate 相同的命名空间中生成策略自定义资源 (CR)。相同的故障排除流程适用于从 PolicyGenTemplates 生成的所有策略 CR,无论它们是通用、组还是站点。
				
要检查策略 CR 的状态,请输入以下命令:
export NS=<namespace>
$ export NS=<namespace>oc get policy -n $NS
$ oc get policy -n $NS
					返回的输出会显示预期的策略打包 CR 集合。如果没有返回对象,请使用以下步骤对 SiteConfig 到策略 CR 的 ArgoCD 管道流进行故障排除。
				
流程
- 检查 - PolicyGenTemplate到 hub 集群的同步:- 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,会出现以下情况之一:- 集群应用程序无法将 CR 从 Git 存储库同步到 hub。使用以下命令验证以下内容: - 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。
- 预同步 hook 失败,可能是因为拉取容器镜像失败。检查 ArgoCD 仪表板,了解 clusters 应用程序中预同步作业的状态。
 
- 确保策略已复制到集群命名空间中。当 ACM 识别策略应用到 - ManagedCluster时,ACM 将策略 CR 对象应用到集群命名空间:- oc get policy -n <cluster_name> - $ oc get policy -n <cluster_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ACM 在此处复制所有适用的通用、组和站点策略。策略名称为 - <policyNamespace>和- <policyName>。
- 检查放置规则中是否有没有复制到集群命名空间中的策略。这些策略的 - 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值应包含您的集群名称。
- spec 中 - matchSelector的- 键值应与受管集群上的标签匹配。检查- 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 可能不会安装。