Skip to content

Argo CD

Kubernetes 宣告式 GitOps 部署工具

軟體分類 程式開發 / 維運管理
軟體標籤
TTSAudacity影音反垃圾郵件
開發廠商 The Argo Project (CNCF)
Stars
22.3k
Forks
6.9k
License
APACHE LICENSE 2.0
Version
v2.14.0
Update
2026-03-12
OS

產品說明

Argo CD 是一款專為 Kubernetes 設計的宣告式(Declarative)、GitOps 持續交付(Continuous Delivery)工具。它作為 Kubernetes 控制器運行,持續監控運作中的應用程式,並將當前的即時狀態(Live State)與 Git 儲存庫中定義的目標狀態(Target State)進行比對。

與傳統 CI/CD 工具不同,Argo CD 遵循 GitOps 模式,將 Git 視為「單一信賴來源」(Single Source of Truth)。一旦開發者提交程式碼或更動設定檔到 Git,Argo CD 便會自動偵測並將變更同步部署到叢集中。它提供了極佳的視覺化儀表板,能清晰呈現應用程式的拓撲結構、健康狀態以及同步情形,是現代雲端原生架構中不可或缺的部署利器。

核心特色:

  • GitOps 自動化:自動同步 Git 儲存庫配置至 Kubernetes,實現基礎設施即程式碼(IaC)。
  • 狀態飄移偵測:當叢集狀態與 Git 定義不符(例如有人手動修改了 K8s 設定),會自動發出警告或強制覆寫修正。
  • 視覺化儀表板:提供直觀的 Web UI,可檢視 Pod、Service、Ingress 等資源關聯與即時 Log。
  • 多叢集管理:可從單一控制平面管理部署到多個 Kubernetes 叢集的應用程式。

常用指令

Argo CD 除了強大的 Web UI 外,也提供了功能完整的命令列工具 (argocd CLI),適合整合至腳本或 CI 流程中。

登入與基礎操作

# 登入 Argo CD 伺服器
argocd login <ARGOCD_SERVER_IP_OR_DOMAIN>

# 列出所有應用程式及其同步狀態
argocd app list

# 取得特定應用程式的詳細資訊
argocd app get <app-name>
指令功能說明範例
app create建立應用建立一個連結 Git Repo 的新應用程式
app sync同步 (Sync)手動觸發同步,將 Git 變更部署到叢集
app history歷史紀錄查看應用程式的部署與版號歷史
app rollback版本回滾將應用程式快速還原至先前的版本
app delete刪除應用刪除 Argo CD 應用 (可選擇是否保留 K8s 資源)
cluster add新增叢集將外部 Kubernetes 叢集納入管理

進階技巧

  • 強制同步:當狀態卡住或有衝突時,可使用 --prune 清除舊資源並強制同步。

    argocd app sync <app-name> --prune --force
    
  • 快速回滾:若新版本部署失敗,可立即回滾到上一次成功的版本(例如 ID 為 1)。

    argocd app rollback <app-name> 1
    
  • 宣告式安裝:不只應用程式,Argo CD 自身也可以透過一份 YAML 清單自我管理(App of Apps 模式),實現全自動化的 GitOps 管理。


操作介面