1.4.5.7. 设置 secret 协调
对于带有 prehook 和 posthook AnsibleJobs 的主订阅,在 Git 存储库中更新所有 prehook 和 posthook AnsibleJobs 或主订阅后,应当协调主订阅。
Prehook AnsibleJobs 和主订阅持续协调并重新启动新的 AnsibleJob 实例。
- 完成 pre-AnsibleJob 后,重新运行主订阅。
- 如果主订阅中有任何规格更改,请重新部署订阅。应更新主要的订阅状态,使其与重新部署过程保持一致。
将 hub 订阅的状态重置为
nil
。订阅会与目标集群上的订阅部署一起刷新。当目标集群上的部署完成时,目标集群上的订阅状态会更新为
"subscribed"
或"failed"
,并同步到 hub 集群订阅状态。- 完成主订阅后,重新启动一个新的 AnsibleJob 实例。
验证 DONE 订阅已更新。请参见以下输出:
-
subscription.status ==
"subscribed"
-
subscription.status ==
"propagated"
带有所有目标集群"subscribed"
-
subscription.status ==
创建 AnsibleJob CR 时,会创建一个 Kubernetes 作业 CR,通过与目标 Ansible Tower 通信来启动 Ansible Tower 作业。作业完成后,作业的最终状态将返回 AnsibleJob status.ansibleJobResult
。
备注:
Ansible Job operator 保留 AnsibleJob status.conditions 以存储 Kubernetes 作业结果的创建。status.conditions 并不反映实际 Ansible Tower 作业状态。
订阅控制器会根据 AnsibleJob.status.ansibleJobResult
而不是 AnsibleJob.status.conditions
检查 Ansible Tower 作业状态。
如 prehook 和 posthook AnsibleJob 工作流中所述,当 Git 存储库中更新了主订阅时,会创建一个新的 prehook 和 posthook AnsibleJob 实例。因此,一个主订阅可以链接到多个 AnsibleJob 实例。
subscription.status.ansibleJobs 中定义了四个字段:
- lastPrehookJobs:最新的 prehook AnsibleJobs
- prehookJobsHistory:所有 prehook AnsibleJobs 历史记录
- lastPosthookJobs:最近的 posthook AnsibleJobs
- posthookJobsHistory:所有 posthook AnsibleJobs 历史记录