ArgoCD是否通过kustomize build检测组件变更以识别应用不同步?
问题:ArgoCD能否检测到Kustomize组件变更?
我重构了Kubernetes对象,使用Kustomization、Components、replacements、patches实现了DRY状态,减少了两个应用及它们在dev和test环境间的重复代码。配置中引用了同仓库内当前文件夹外的组件:
components: - ../../common-nonprod - ../../common-nonprod-ui
我的问题是:若这些被引用的公共文件夹内的文件发生变更,ArgoCD能否检测到应用的变更?换句话说,ArgoCD是否会执行kustomize build来识别变更内容?
回答
- ArgoCD会执行
kustomize build来生成最终的Kubernetes清单,所以只要组件文件夹内容发生变更,ArgoCD在同步或检测阶段会重新构建,进而识别到变更。 - 要注意,ArgoCD默认基于Git提交感知变化:只要组件所在的Git仓库有包含组件文件夹变更的新提交,ArgoCD会拉取最新代码,重新执行Kustomize构建,对比生成的清单和集群当前资源状态,以此检测差异,若配置了自动同步还会触发同步操作。
- 另外,如果你是在同一个Git仓库内引用这些组件,只要仓库有提交更新,ArgoCD就会感知到,重新运行
kustomize build生成最新配置,自然能识别组件变更带来的应用配置变化。
内容的提问来源于stack exchange,提问作者bhantol
相关产品推荐
相关产品推荐

