11.2. 将新 ConfigMap 更改同步到现有的 PolicyGenerator 或 PolicyGentemplate CR
先决条件
-
已安装 OpenShift CLI(
oc)。 -
已以具有
cluster-admin权限的用户身份登录到 hub 集群。 -
您已创建了
PolicyGenerator或PolicyGentemplateCR,它使用 hub 集群模板从ConfigMapCR 中拉取信息。
流程
-
更新
ConfigMapCR 的内容,并应用 hub 集群中的更改。 要将更新的
ConfigMapCR 的内容同步到部署的策略中,请执行以下操作之一:选项 1:删除现有策略。ArgoCD 使用
PolicyGenerator或PolicyGentemplateCR 立即重新创建已删除的策略。例如,运行以下命令:$ oc delete policy <policy_name> -n <policy_namespace>选项 2:在每次更新 ConfigMap 时,每次更新
ConfigMap时,将特殊注解policy.open-cluster-management.io/trigger-update应用到策略。例如:$ oc annotate policy <policy_name> -n <policy_namespace> policy.open-cluster-management.io/trigger-update="1"注意您必须应用更新的策略才能使更改生效。如需更多信息,请参阅重新处理的特殊注解。
可选:如果存在,删除包含策略的
ClusterGroupUpdateCR。例如:$ oc delete clustergroupupgrade <cgu_name> -n <cgu_namespace>创建新的
ClusterGroupUpdateCR,其中包含要应用更新的ConfigMap更改的策略。例如,将以下 YAML 添加到文件cgr-example.yaml中:apiVersion: ran.openshift.io/v1alpha1 kind: ClusterGroupUpgrade metadata: name: <cgr_name> namespace: <policy_namespace> spec: managedPolicies: - <managed_policy> enable: true clusters: - <managed_cluster_1> - <managed_cluster_2> remediationStrategy: maxConcurrency: 2 timeout: 240应用更新的策略:
$ oc apply -f cgr-example.yaml