在 Kubernetes 的 Argo CD 中添加代理(Proxy)设置,你可以从多个层面进行操作,下面分别介绍不同组件设置代理的方法。
Argo CD Server 负责提供 Web UI 和 API 服务,要为其设置代理,可以通过修改 Argo CD Server 的部署配置来实现。
kubectl edit deployment argocd-server -n argocd
spec.template.spec.containers
下的 argocd-server
容器中添加代理相关的环境变量,示例如下:spec:
template:
spec:
containers:
- name: argocd-server
env:
- name: HTTP_PROXY
value: http://your-proxy-server:port
- name: HTTPS_PROXY
value: http://your-proxy-server:port
- name: NO_PROXY
value: localhost,127.0.0.1,.svc,.cluster.local
这里 HTTP_PROXY
和 HTTPS_PROXY
分别指定了 HTTP 和 HTTPS 请求的代理服务器地址,NO_PROXY
指定了不需要使用代理的地址列表。
Argo CD Repo Server 负责与 Git 仓库交互,获取应用的配置文件,同样可以通过修改其部署配置来设置代理。
kubectl edit deployment argocd-repo-server -n argocd
spec.template.spec.containers
下的 argocd-repo-server
容器中添加代理相关的环境变量,示例如下:spec:
template:
spec:
containers:
- name: argocd-repo-server
env:
- name: HTTP_PROXY
value: http://your-proxy-server:port
- name: HTTPS_PROXY
value: http://your-proxy-server:port
- name: NO_PROXY
value: localhost,127.0.0.1,.svc,.cluster.local
Argo CD Application Controller 负责监控和同步应用,也可以通过修改其部署配置来设置代理。
kubectl edit deployment argocd-application-controller -n argocd
spec.template.spec.containers
下的 argocd-application-controller
容器中添加代理相关的环境变量,示例如下:spec:
template:
spec:
containers:
- name: argocd-application-controller
env:
- name: HTTP_PROXY
value: http://your-proxy-server:port
- name: HTTPS_PROXY
value: http://your-proxy-server:port
- name: NO_PROXY
value: localhost,127.0.0.1,.svc,.cluster.local
设置完成后,可以通过查看 Argo CD 相关组件的日志来验证代理是否生效,例如查看 Argo CD Server 的日志:
kubectl logs -f deployment/argocd-server -n argocd
如果代理设置正确,Argo CD 组件在与外部服务(如 Git 仓库)交互时会通过代理服务器进行请求。