目 录CONTENT

文章目录

解决ArgoCD自动同步延迟,同步镜像延迟

Administrator
2025-08-03 / 0 评论 / 1 点赞 / 7 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

解决ArgoCD自动同步延迟,同步镜像延迟

背景

同事在使用ArgoCD进行K8s集群的自动化部署时,遇到了自动同步延迟和同步镜像延迟的问题。

问题分析

Argo CD 可以自动检测到应用程序配置的变化。这是通过每隔三分钟(默认的180s)轮询一次 Git 存储库来实现的,以检查清单是否发生变化。

解决思路

为了消除轮询延迟,可以采取以下两种方法:

  • 减少轮询间隔时间,例如设置为60s。
  • API 服务端可以配置为接收 webhook 事件,从而实时获取 Git 存储库中的变化。

减少轮询间隔时间

  • 编辑 Argo CD 的配置文件,找到 configmap 部分。
  • 在该部分中添加或修改以下行:
     #应用程序协调超时是发现新清单版本是否得到所需的最长时间
     #发布到存储库。如果超时设置为 0,则禁用按超时协调。
     timeout.reconciliation: 60s
    
    reconciliation
  • 应用更改并重启 Argo CD 服务。
  • 这种方法好像没啥用,貌似还是会延迟。

设置webhook触发

  • 在argocd的secrets中增加参数。

    stringData:
      # gitlab webhook secret
      webhook.gitlab.secret: 自定义的字符串(这个字符串会加密成为一个复杂的字符串)
    

    argocdsecret
    重启argocd服务端。

  • gitlab配置webhook
    webhook的URL是argocd服务端的地址+/api/webhook

    http://argocd-server/api/webhook
    http://192.168.1.6:32417/api/webhook
    

    下方的Secret Token(这个地方也是可选的,建议用上)
    webhook1
    关闭下方的 SSL verification不做安全校验,然后点击 Add webhook 添加就好了
    webhook2

    webhook3.png
    写入完成后点击测试,使用 Push events 测试一下,因为默认的hooks增加的是push操作才会触发这个钩子,成功触发钩子上方会返回200的值
    webhook4.png
    这个时候去看集群里面的argocd-server这个容器的日志
    webhook5.png

参考资料

ArgoCD 自动同步延迟,同步镜像延迟

1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区