Argo CD 项目安装指南:从基础部署到生产环境高可用方案
一、Argo CD 安装方案概述
Argo CD 作为一款流行的 GitOps 持续交付工具,提供了多种安装方式以适应不同场景需求。本文将深入解析 Argo CD 的安装选项,帮助您根据实际环境选择最适合的部署方案。
二、多租户安装模式
多租户模式是 Argo CD 最常见的安装方式,特别适合平台团队为多个应用开发团队提供 GitOps 服务的场景。
2.1 访问方式
- Web UI:通过浏览器访问 Argo CD 的 API 服务器
- CLI 工具:使用
argocd
命令行工具,需先执行argocd login <server-host>
进行认证
2.2 非高可用部署(评估环境适用)
非高可用部署适合评估测试阶段,不建议用于生产环境。
2.2.1 标准安装(cluster-admin权限)
特点:
- 包含集群管理员权限
- 可在 Argo CD 所在集群内部署应用
- 同时支持部署到外部集群(需提供凭证)
注意事项:
- ClusterRoleBinding 绑定到 argocd 命名空间的 ServiceAccount
- 修改命名空间时需同步调整 ClusterRoleBinding 配置
2.2.2 命名空间级安装
特点:
- 仅需命名空间级别权限
- 默认只能部署到外部集群
- 如需部署到同一集群,需额外配置凭证
重要说明:
- 需单独安装 CRD(Custom Resource Definitions)
- 默认角色仅支持 GitOps 模式(实际部署到外部集群)
- 可通过自定义角色扩展功能
2.3 高可用部署(生产环境推荐)
高可用部署包含与非高可用版本相同的组件,但进行了以下优化:
- 关键组件多副本部署
- 增强的容错能力
- 更高的服务可靠性
提供两种高可用方案:
- 标准高可用安装(含集群管理员权限)
- 命名空间级高可用安装
三、核心模式安装
核心模式是 Argo CD 的轻量级安装方案,特点包括:
- 无头模式运行(不包含 API 服务器和 UI)
- 组件精简,部署简单
- 适合独立使用的集群管理员
- 各组件均为非高可用版本
四、使用 Kustomize 安装
Kustomize 提供了灵活的部署定制能力,推荐工作流程:
- 引用远程 manifests 作为基础
- 通过 patches 进行自定义配置
4.1 基础配置示例
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: argocd
resources:
- 官方提供的install.yaml地址
4.2 自定义命名空间安装
在非默认命名空间安装时,需特别注意权限配置:
patches:
- patch: |-
- op: replace
path: /subjects/0/namespace
value: <your-custom-namespace>
target:
kind: ClusterRoleBinding
此配置确保 ClusterRoleBinding 正确关联到自定义命名空间的 ServiceAccount。
五、使用 Helm 安装
社区维护的 Helm chart 提供了另一种安装方式:
- 支持灵活的配置覆盖
- 便于版本管理
- 适合已有 Helm 技术栈的环境
六、版本兼容性说明
6.1 支持策略
Argo CD 遵循特定的版本支持策略,建议生产环境使用稳定版本。
6.2 Kubernetes 版本兼容性
不同 Argo CD 版本对 Kubernetes 的兼容性有所差异,部署前应确认版本匹配关系。
七、部署建议
- 评估环境:使用非高可用命名空间级安装
- 生产环境:必须采用高可用部署
- 轻量级需求:考虑核心模式
- 定制化需求:优先选择 Kustomize 方案
通过理解这些安装选项的特点和适用场景,您可以根据实际需求选择最合适的 Argo CD 部署方案,为团队构建稳定高效的 GitOps 工作流。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考