argoCD是如何进行漂移检测的?假设我使用git repo将一个应用程序部署到K8S,这将向LoadBalancer
公开该服务。一旦在ArgoCD上发生sync
,就可以使用LoadBalancer
部署应用程序并访问端点。现在,有权访问亚马逊网络服务控制台的人去更改LoadBalancer
的安全组规则。白名单上的cidr
不再是安全组的一部分。ArgoCD如何捕捉这种漂移,并将git中的所需状态放回部署
发布于 2019-12-03 23:39:41
通常,通过公开的指标https://argoproj.github.io/argo-cd/operator-manual/metrics/。也就是说,你问的具体案例,我不确定这是否会有帮助。这更多的是在Kubernetes的云控制器系统层面上,而不是Argo。至多,Argo可以检测到Kubernetes的对象数据何时与Git不同步,反之亦然。你提出的问题是,当Kubernetes的对象是正确的,但它本身与一些更深层次的现实不同步。理论上,ccm应该通过定期协调自动纠正这个问题,但我不确定它是否会这样做,必须检查代码。
发布于 2019-12-14 07:21:17
Argo CD使用与kubectl diff/apply
相同的逻辑。它计算实时k8s资源清单、来自git的清单和来自kubectl.kubernetes.io/last-applied-configuration
注释的清单之间的json补丁。如果计算的补丁不为空,则认为资源不同步。
然而,与kubectl一样,Argo CD只关心Kubernetes资源清单。无法检测到AWS配置中的更改。这是相应的资源控制器的工作。它应该注意到差异并解决它。
https://stackoverflow.com/questions/59158997
复制相似问题