如何使用Argo CD Operator快速构建高可用Argo CD集群?新手必看教程
Argo CD Operator是一个Kubernetes operator,用于管理Argo CD集群,支持通过自定义资源实现高可用部署。本教程将帮助新手快速掌握使用Argo CD Operator构建高可用Argo CD集群的完整流程,从环境准备到配置优化,让你轻松实现生产级别的持续部署解决方案。
准备工作:环境与工具要求
在开始部署前,请确保你的环境满足以下条件:
- Kubernetes集群(建议3节点以上,用于高可用测试)
kubectl或ocCLI工具已安装并配置make命令行工具git工具(用于克隆代码仓库)
首先克隆Argo CD Operator项目仓库:
git clone https://gitcode.com/gh_mirrors/ar/argocd-operator
cd argocd-operator
快速安装:一键部署Argo CD Operator
Argo CD Operator提供了便捷的部署脚本,通过以下步骤即可完成安装:
-
创建命名空间(可选,默认使用
argocd-operator-system) -
部署Operator:
make deploy -
验证部署状态:
kubectl get pods -n argocd-operator-system当看到operator pod处于
Running状态时,说明部署成功:NAME READY STATUS RESTARTS AGE argocd-operator-controller-manager-6c449c6998-ts95w 2/2 Running 0 33s
官方安装文档:docs/install/manual.md
配置高可用:核心组件设置
高可用Argo CD集群主要依赖两个关键组件的配置:Redis HA和Repo Server扩展。
Redis高可用配置
Redis作为Argo CD的核心状态存储,其高可用配置至关重要。通过以下Custom Resource配置启用Redis HA:
apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
name: example-argocd
spec:
ha:
enabled: true
redisProxyImage: haproxy
redisProxyVersion: "2.0.4"
配置示例路径:docs/usage/ha/redis.md
OpenShift环境特别注意: 在OpenShift上部署时,需要为Redis服务账户添加anyuid权限:
oc adm policy add-scc-to-user anyuid -z argocd-redis-ha
Repo Server持久化与扩展
为避免Repo Server因磁盘空间不足导致故障,建议配置持久化存储:
apiVersion: argoproj.io/v1beta1
kind: ArgoCD
metadata:
name: argocd-sample
spec:
repo:
volumes:
- name: repo-storage
persistentVolumeClaim:
claimName: <your-pvc-name>
volumeMounts:
- mountPath: /tmp
name: repo-storage
配置示例路径:docs/usage/ha/repo-server.md
访问与验证:确认高可用集群状态
查看Argo CD集群状态
kubectl get argocd
访问Argo CD UI
获取初始管理员密码:
kubectl get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
通过Ingress或Route访问Argo CD UI(根据实际部署情况调整):
图:使用Keycloak身份验证登录Argo CD控制台,高可用集群支持多身份提供商集成
常见问题与最佳实践
1. 集群节点不足3个怎么办?
如果测试环境节点不足3个,可跳过HA测试:
SKIP_HA_TESTS=true make e2e-tests-sequential-ginkgo
2. 如何调整资源限制?
HA模式下,Redis资源限制需通过.spec.ha.resources配置,而非.spec.redis.resources。
3. 持久化存储注意事项
Argo CD Operator不会自动创建PV/PVC,需提前准备存储资源,建议为Repo Server配置至少10GB存储空间。
总结:高可用集群部署关键点
通过Argo CD Operator部署高可用Argo CD集群只需三个核心步骤:
- 安装Operator并验证运行状态
- 配置包含
ha.enabled: true的ArgoCD自定义资源 - 根据存储需求配置Repo Server持久化
这种部署方式不仅简化了传统手动配置的复杂性,还确保了集群组件的自动维护与故障恢复,是企业级持续部署的理想选择。
完整高可用配置指南:docs/usage/ha
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



