Argo CD
Kubernetes 宣告式 GitOps 部署工具
軟體分類 程式開發 / 維運管理
軟體標籤
TTSAudacity影音反垃圾郵件
開發廠商 The Argo Project (CNCF)
產品說明
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 管理。
操作介面




![]()
