1. 首页 > 软件下载 > 正文

CI/CD下载-ArgoCD下载地址-ArgoCD下载方法

1. ArgoCD简介与版本说明

ArgoCD是Kubernetes原生的持续交付(CD)工具,采用GitOps模式管理Kubernetes应用。ArgoCD自动同步Git仓库中的应用配置到Kubernetes集群,实现声明式的应用部署和管理。更多学习教程www.fgedu.net.cn

ArgoCD最新版本:

ArgoCD v2.13.3(2026年3月发布)

ArgoCD v2.12.7(2026年2月发布)

ArgoCD v2.11.10(2026年1月发布)

ArgoCD v2.10.15(2025年12月发布)

ArgoCD核心特性:

GitOps模式:使用Git作为单一事实来源

自动化同步:自动检测并同步应用状态

多集群管理:支持管理多个Kubernetes集群

可视化界面:提供Web UI查看应用状态

多种配置格式:支持Helm、Kustomize、Jsonnet等

2. ArgoCD下载地址

ArgoCD由CLI工具和Kubernetes部署两部分组成,可以从官方发布页面获取。学习交流加群风哥微信: itpux-com

官方下载地址:

ArgoCD官方文档:https://argo-cd.readthedocs.io/

ArgoCD GitHub发布页面:https://github.com/argoproj/argo-cd/releases

ArgoCD源码仓库:https://github.com/argoproj/argo-cd

# 查看最新版本信息
$ curl -s “https://api.github.com/repos/argoproj/argo-cd/releases/latest” | grep -E ‘”tag_name”|”name”|”browser_download_url”‘ | head -20

输出示例如下:
“tag_name”: “v2.13.3”,
“name”: “v2.13.3”,
“browser_download_url”: “https://github.com/argoproj/argo-cd/releases/download/v2.13.3/argocd-linux-amd64”,
“browser_download_url”: “https://github.com/argoproj/argo-cd/releases/download/v2.13.3/argocd-linux-arm64”,
“browser_download_url”: “https://github.com/argoproj/argo-cd/releases/download/v2.13.3/argocd-darwin-amd64”,
“browser_download_url”: “https://github.com/argoproj/argo-cd/releases/download/v2.13.3/argocd-windows-amd64.exe”

各平台CLI下载链接:

Linux AMD64:https://github.com/argoproj/argo-cd/releases/download/v2.13.3/argocd-linux-amd64

Linux ARM64:https://github.com/argoproj/argo-cd/releases/download/v2.13.3/argocd-linux-arm64

macOS AMD64:https://github.com/argoproj/argo-cd/releases/download/v2.13.3/argocd-darwin-amd64

Windows AMD64:https://github.com/argoproj/argo-cd/releases/download/v2.13.3/argocd-windows-amd64.exe

3. ArgoCD CLI工具下载安装

ArgoCD CLI是命令行管理工具,用于与ArgoCD服务器交互。风哥提示:生产环境建议安装与服务器版本匹配的CLI工具。

步骤1:Linux系统安装

# 下载最新版本CLI
# curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64

输出示例如下:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 85.2M 100 85.2M 0 0 15.8M 0 0:00:05 0:00:05 –:–:– 18.2M

# 添加执行权限
# chmod +x /usr/local/bin/argocd

# 验证安装
# argocd version –client

输出示例如下:
argocd: v2.13.3+abc123d
BuildDate: 2026-03-15T10:00:00Z
GitCommit: abc123def456…
GitTreeState: clean
GoVersion: go1.21.8
Compiler: gc
Platform: linux/amd64

步骤2:macOS系统安装

# 使用Homebrew安装
$ brew install argocd

输出示例如下:
==> Downloading https://ghcr.io/v2/homebrew/core/argocd/manifests/2.13.3
==> Downloading https://ghcr.io/v2/homebrew/core/argocd/blobs/sha256:abc123
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:abc123
==> Pouring argocd–2.13.3.arm64_sonoma.bottle.tar.gz
🍺 /opt/homebrew/opt/argocd/bin/argocd
==> Summary
🍺 /opt/homebrew/Cellar/argocd/2.13.3: 10 files, 85MB

# 或手动下载安装
$ curl -sSL -o ~/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-darwin-amd64
$ chmod +x ~/bin/argocd

# 验证安装
$ argocd version –client

输出示例如下:
argocd: v2.13.3+abc123d
BuildDate: 2026-03-15T10:00:00Z
GitCommit: abc123def456…
GitTreeState: clean
GoVersion: go1.21.8
Compiler: gc
Platform: darwin/amd64

步骤3:Windows系统安装

# 使用PowerShell下载
> Invoke-WebRequest -Uri “https://github.com/argoproj/argo-cd/releases/latest/download/argocd-windows-amd64.exe” -OutFile “argocd.exe”

# 添加到PATH环境变量
> $env:PATH += “;C:\Tools\argocd”

# 验证安装
> .\argocd.exe version –client

输出示例如下:
argocd: v2.13.3+abc123d
BuildDate: 2026-03-15T10:00:00Z
GitCommit: abc123def456…
GitTreeState: clean
GoVersion: go1.21.8
Compiler: gc
Platform: windows/amd64

4. Kubernetes安装ArgoCD

ArgoCD作为Kubernetes应用部署,支持多种安装方式。学习交流加群风哥QQ113257174

步骤1:创建命名空间和安装

# 创建ArgoCD命名空间
# kubectl create namespace argocd

输出示例如下:
namespace/argocd created

# 安装ArgoCD(非HA模式)
# kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.13.3/manifests/install.yaml

输出示例如下:
customresourcedefinition.apiextensions.k8s.io/applications.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/applicationsets.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/appprojects.argoproj.io created
serviceaccount/argocd-application-controller created
serviceaccount/argocd-applicationset-controller created
serviceaccount/argocd-dex-server created
serviceaccount/argocd-notifications-controller created
serviceaccount/argocd-redis created
serviceaccount/argocd-repo-server created
serviceaccount/argocd-server created
role.rbac.authorization.k8s.io/argocd-application-controller created

deployment.apps/argocd-repo-server created
deployment.apps/argocd-server created
deployment.apps/argocd-redis created
networkpolicy.networking.k8s.io/argocd-application-controller-network-policy created
networkpolicy.networking.k8s.io/argocd-dex-server-network-policy created

# 查看部署状态
# kubectl get pods -n argocd

输出示例如下:
NAME READY STATUS RESTARTS AGE
argocd-application-controller-0 1/1 Running 0 2m
argocd-applicationset-controller-6b8c9d5f4d-abc12 1/1 Running 0 2m
argocd-dex-server-7c8f9d6b5d-abc34 1/1 Running 0 2m
argocd-notifications-controller-5d6f7g8h9i-abc56 1/1 Running 0 2m
argocd-redis-8d9e0f1a2b-abc78 1/1 Running 0 2m
argocd-repo-server-9e0f1a2b3c-abc90 1/1 Running 0 2m
argocd-server-0f1a2b3c4d-abc12 1/1 Running 0 2m

步骤2:安装HA模式(生产环境推荐)

# 安装ArgoCD HA模式
# kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.13.3/manifests/ha/install.yaml

输出示例如下:
customresourcedefinition.apiextensions.k8s.io/applications.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/applicationsets.argoproj.io created
customresourcedefinition.apiextensions.k8s.io/appprojects.argoproj.io created

statefulset.apps/argocd-redis-ha-server created
statefulset.apps/argocd-redis-ha-haproxy created

# 查看HA部署状态
# kubectl get pods -n argocd

输出示例如下:
NAME READY STATUS RESTARTS AGE
argocd-application-controller-0 1/1 Running 0 2m
argocd-applicationset-controller-6b8c9d5f4d-abc12 1/1 Running 0 2m
argocd-dex-server-7c8f9d6b5d-abc34 1/1 Running 0 2m
argocd-notifications-controller-5d6f7g8h9i-abc56 1/1 Running 0 2m
argocd-redis-ha-server-0 2/2 Running 0 2m
argocd-redis-ha-server-1 2/2 Running 0 2m
argocd-redis-ha-server-2 2/2 Running 0 2m
argocd-redis-ha-haproxy-0 1/1 Running 0 2m
argocd-redis-ha-haproxy-1 1/1 Running 0 2m
argocd-redis-ha-haproxy-2 1/1 Running 0 2m
argocd-repo-server-9e0f1a2b3c-abc90 1/1 Running 0 2m
argocd-server-0f1a2b3c4d-abc12 1/1 Running 0 2m

步骤3:获取初始密码

# 获取初始管理员密码
# kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath=”{.data.password}” | base64 -d

输出示例如下:
AbCdEfGhIjKlMnOpQrStUvWx

# 查看ArgoCD服务
# kubectl get svc -n argocd

输出示例如下:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
argocd-applicationset-controller ClusterIP 10.96.100.1 7000/TCP,8080/TCP 3m
argocd-dex-server ClusterIP 10.96.100.2 5556/TCP,5557/TCP,5558/TCP 3m
argocd-metrics ClusterIP 10.96.100.3 8082/TCP 3m
argocd-notifications-controller-metrics ClusterIP 10.96.100.4 9001/TCP 3m
argocd-redis ClusterIP 10.96.100.5 6379/TCP 3m
argocd-redis-ha ClusterIP None 6379/TCP,26379/TCP 3m
argocd-redis-ha-haproxy ClusterIP 10.96.100.6 6379/TCP 3m
argocd-repo-server ClusterIP 10.96.100.7 8081/TCP,8084/TCP 3m
argocd-server ClusterIP 10.96.100.8 80/TCP,443/TCP 3m
argocd-server-metrics ClusterIP 10.96.100.9 8083/TCP 3m

步骤4:暴露ArgoCD服务

# 方式1:使用LoadBalancer
# kubectl patch svc argocd-server -n argocd -p ‘{“spec”: {“type”: “LoadBalancer”}}’

输出示例如下:
service/argocd-server patched

# 方式2:使用NodePort
# kubectl patch svc argocd-server -n argocd -p ‘{“spec”: {“type”: “NodePort”}}’

输出示例如下:
service/argocd-server patched

# 方式3:使用Ingress
# cat > argocd-ingress.yaml << 'EOF' apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: argocd-server-ingress namespace: argocd annotations: nginx.ingress.kubernetes.io/force-ssl-redirect: "true" nginx.ingress.kubernetes.io/ssl-passthrough: "true" spec: ingressClassName: nginx rules: - host: argocd.fgedu.net.cn http: paths: - path: / pathType: Prefix backend: service: name: argocd-server port: name: https EOF # kubectl apply -f argocd-ingress.yaml 输出示例如下: ingress.networking.k8s.io/argocd-server-ingress created # 方式4:使用端口转发(测试用) # kubectl port-forward svc/argocd-server -n argocd 8080:443 & 输出示例如下: [1] 12345 Forwarding from 127.0.0.1:8080 -> 8080
Forwarding from [::1]:8080 -> 8080

5. ArgoCD配置与应用部署

ArgoCD配置包括登录认证、仓库配置、应用创建等。更多学习教程公众号风哥教程itpux_com

步骤1:登录ArgoCD

# 使用CLI登录ArgoCD
# argocd login argocd.fgedu.net.cn –grpc-web

输出示例如下:
WARNING: server is not configured with TLS. Proceeding with insecure connection.
Username: admin
Password:
‘admin:login’ logged in successfully
Context ‘argocd.fgedu.net.cn’ updated

# 或使用端口转发登录
# argocd login localhost:8080 –grpc-web –insecure

输出示例如下:
Username: admin
Password:
‘admin:login’ logged in successfully
Context ‘localhost:8080’ updated

# 修改管理员密码
# argocd account update-password

输出示例如下:
*** Enter password of currently logged in user (admin):
*** Enter new password for user admin:
*** Confirm new password for user admin:
Password updated

步骤2:添加Git仓库

# 添加Git仓库(HTTPS)
# argocd repo add https://github.com/fgedu/fgedu-apps.git –username fgedu –password ghp_xxxx

输出示例如下:
Repository ‘https://github.com/fgedu/fgedu-apps.git’ added

# 添加Git仓库(SSH)
# argocd repo add git@github.com:fgedu/fgedu-apps.git –ssh-private-key-path ~/.ssh/id_rsa

输出示例如下:
Repository ‘git@github.com:fgedu/fgedu-apps.git’ added

# 查看已添加的仓库
# argocd repo list

输出示例如下:
TYPE NAME REPO INSECURE LFS CREDS STATUS MESSAGE
git https://github.com/fgedu/fgedu-apps.git false false true Successful
git git@github.com:fgedu/fgedu-apps.git false false false Successful

步骤3:创建应用

# 创建应用(命令行方式)
# argocd app create fgedu-app \
–repo https://github.com/fgedu/fgedu-apps.git \
–path apps/fgedu-app \
–dest-server https://kubernetes.default.svc \
–dest-namespace default

输出示例如下:
application ‘fgedu-app’ created

# 查看应用列表
# argocd app list

输出示例如下:
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
argocd/fgedu-app https://kubernetes.default.svc default default OutOfSync Healthy https://github.com/fgedu/fgedu-apps.git apps/fgedu-app

# 同步应用
# argocd app sync fgedu-app

输出示例如下:
TIMESTAMP GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE
2026-04-04T10:00:00+08:00 apps Deployment default fgedu-app Running Healthy deployment.apps/fgedu-app configured
2026-04-04T10:00:01+08:00 v1 Service default fgedu-app Running Healthy service/fgedu-app configured
2026-04-04T10:00:02+08:00 Sync default fgedu-app Succeeded sync to

Name: argocd/fgedu-app
Project: default
Server: https://kubernetes.default.svc
Namespace: default
URL: https://argocd.fgedu.net.cn/applications/fgedu-app
Repo: https://github.com/fgedu/fgedu-apps.git
Target:
Path: apps/fgedu-app
SyncWindow: Sync Allowed
Sync Policy:
Sync Status: Synced to (abc123d)
Health Status: Healthy

步骤4:使用YAML创建应用

# 创建应用YAML文件
# cat > fgedu-app.yaml << 'EOF' apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: fgedu-app namespace: argocd spec: project: default source: repoURL: https://github.com/fgedu/fgedu-apps.git targetRevision: HEAD path: apps/fgedu-app destination: server: https://kubernetes.default.svc namespace: default syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true EOF # 应用配置 # kubectl apply -f fgedu-app.yaml 输出示例如下: application.argoproj.io/fgedu-app created # 查看应用详情 # argocd app get fgedu-app 输出示例如下: Name: argocd/fgedu-app Project: default Server: https://kubernetes.default.svc Namespace: default URL: https://argocd.fgedu.net.cn/applications/fgedu-app Repo: https://github.com/fgedu/fgedu-apps.git Target: HEAD Path: apps/fgedu-app SyncWindow: Sync Allowed Sync Policy: Automated (Prune) Sync Status: Synced to HEAD (abc123d) Health Status: Healthy GROUP KIND NAMESPACE NAME STATUS HEALTH HOOK MESSAGE apps Deployment default fgedu-app Synced Healthy deployment.apps/fgedu-app unchanged Service default fgedu-app Synced Healthy service/fgedu-app unchanged

6. ArgoCD生产环境配置

生产环境需要对ArgoCD进行优化配置,确保稳定性和安全性。from:www.itpux.com

步骤1:配置高可用

# 创建ArgoCD配置参数
# cat > argocd-cm.yaml << 'EOF' apiVersion: v1 kind: ConfigMap metadata: name: argocd-cm namespace: argocd data: application.instanceLabelKey: argocd.argoproj.io/instance exec.enabled: "true" kustomize.buildOptions: --enable-helm resource.exclusions: | - apiGroups: - "" kinds: - Event clusters: - "*" EOF # 应用配置 # kubectl apply -f argocd-cm.yaml 输出示例如下: configmap/argocd-cm configured # 配置Repo Server副本数 # kubectl patch deployment argocd-repo-server -n argocd -p '{"spec":{"replicas":3}}' 输出示例如下: deployment.apps/argocd-repo-server patched # 配置Server副本数 # kubectl patch deployment argocd-server -n argocd -p '{"spec":{"replicas":3}}' 输出示例如下: deployment.apps/argocd-server patched

步骤2:配置RBAC

# 创建RBAC配置
# cat > argocd-rbac-cm.yaml << 'EOF' apiVersion: v1 kind: ConfigMap metadata: name: argocd-rbac-cm namespace: argocd data: policy.default: role:readonly policy.csv: | p, role:admin, applications, *, */*, allow p, role:admin, clusters, *, *, allow p, role:admin, repositories, *, *, allow p, role:admin, projects, *, *, allow p, role:admin, logs, *, *, allow p, role:admin, exec, *, *, allow g, fgedu-admins, role:admin g, fgedu-developers, role:readonly scopes: "[groups]" EOF # 应用RBAC配置 # kubectl apply -f argocd-rbac-cm.yaml 输出示例如下: configmap/argocd-rbac-cm configured

步骤3:配置监控

# 创建ServiceMonitor
# cat > argocd-monitor.yaml << 'EOF' apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: argocd-metrics namespace: argocd labels: release: prometheus spec: selector: matchLabels: app.kubernetes.io/name: argocd-metrics endpoints: - port: metrics interval: 30s EOF # 应用监控配置 # kubectl apply -f argocd-monitor.yaml 输出示例如下: servicemonitor.monitoring.coreos.com/argocd-metrics created # 查看ArgoCD指标 # kubectl port-forward svc/argocd-metrics -n argocd 8082:8082 & # curl http://localhost:8082/metrics | head -20 输出示例如下: # HELP argocd_app_info Information about application. # TYPE argocd_app_info gauge argocd_app_info{automated="true",dest_namespace="default",dest_server="https://kubernetes.default.svc",health_status="Healthy",name="fgedu-app",namespace="argocd",project="default",sync_status="Synced"} 1 # HELP argocd_app_sync_total Number of application syncs. # TYPE argocd_app_sync_total counter argocd_app_sync_total{namespace="argocd",status="successful"} 15 argocd_app_sync_total{namespace="argocd",status="failed"} 2
生产环境建议:ArgoCD生产环境建议使用HA模式部署,配置Redis集群和多个Controller副本。启用RBAC权限控制,限制用户访问权限。配置Git仓库SSH密钥认证,避免使用HTTPS密码。启用自动同步和自愈功能,确保应用状态与Git仓库一致。配置监控告警,及时发现和处理同步失败等问题。定期备份ArgoCD配置数据,确保灾难恢复能力。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息