argoCD 如何进行漂移检测?假设我使用 git repo 将应用程序部署到 K8S,它将服务公开到LoadBalancer
. 一旦sync
在 ArgoCD 上发生这种情况,应用程序就会被部署,并且可以使用LoadBalancer
. 现在有人可以访问 AWS 控制台并更改LoadBalancer
. 白名单cidr
不再是安全组的一部分。ArgoCD 如何捕捉这种漂移并将 git 中的理想状态放回部署
问问题
804 次
2 回答
0
Argo CD 使用与kubectl diff/apply
. 它计算实时 k8s 资源清单、来自 git 的清单和来自kubectl.kubernetes.io/last-applied-configuration
注释的清单(如果存在)之间的 json 补丁。如果计算的补丁不为空,则认为资源不同步。
然而,与 kubectl Argo CD 一样,只关心 Kubernetes 资源清单。它无法检测 AWS 配置的更改。这是相应资源控制器的工作。它应该注意到差异并解决它。
于 2019-12-13T23:21:17.243 回答
0
一般来说,通过公开的指标https://argoproj.github.io/argo-cd/operator-manual/metrics/。也就是说,你问的具体案例,我不确定这会有所帮助。与 Argo 相比,这更像是 Kubernetes 的云控制器系统级别。Argo 最多可以检测到 Kubernetes 的对象数据何时与 Git 不同步,反之亦然。你提出的问题是 Kubernetes 的对象是正确的,但它本身与一些更深层次的现实不同步。理论上,ccm 应该通过定期对账自动纠正这个问题,但我不确定它是否确实如此,必须检查代码。
于 2019-12-03T15:39:41.190 回答