Argo CD基于 Kubernetes 的聲明式持續(xù)交付工具
Argo CD 是 Kubernetes 的聲明性 GitOps 持續(xù)交付工具。
優(yōu)點(diǎn):
- 應(yīng)用程序定義、配置和環(huán)境應(yīng)該是聲明性的并且是版本控制的。
- 應(yīng)用程序部署和生命周期管理應(yīng)該是自動(dòng)化的、可審計(jì)的并且易于理解。
Argo CD 遵循 GitOps 模式,使用 Git 存儲(chǔ)庫作為定義所需應(yīng)用程序狀態(tài)的真實(shí)來源。Kubernetes 清單可以通過多種方式指定:
Argo CD 在指定的目標(biāo)環(huán)境中自動(dòng)部署所需的應(yīng)用程序狀態(tài)。應(yīng)用程序部署可以在 Git 提交時(shí)跟蹤對(duì)分支、標(biāo)簽或固定到特定版本清單的更新。有關(guān)可用的不同跟蹤策略的更多詳細(xì)信息,可參閱跟蹤策略。
架構(gòu):
Argo CD被實(shí)現(xiàn)為kubernetes控制器,該控制器連續(xù)監(jiān)視正在運(yùn)行的應(yīng)用程序, 并將當(dāng)前的活動(dòng)狀態(tài)與所需的目標(biāo)狀態(tài)(在Git存儲(chǔ)庫中指定)進(jìn)行比較。 其活動(dòng)狀態(tài)偏離目標(biāo)狀態(tài)的已部署應(yīng)用程序被標(biāo)記為OutOfSync。 Argo CD報(bào)告并可視化差異,同時(shí)提供了自動(dòng)或手動(dòng)將實(shí)時(shí)狀態(tài)同步回所需目標(biāo)狀態(tài)的功能。 在Git存儲(chǔ)庫中對(duì)所需目標(biāo)狀態(tài)所做的任何修改都可以自動(dòng)應(yīng)用并反映在指定的目標(biāo)環(huán)境中。
特性:
- 將應(yīng)用程序自動(dòng)部署到指定的目標(biāo)環(huán)境
- 支持多種配置管理/模板工具(Kustomize、Helm、Ksonnet、Jsonnet、plain-YAML)
- 能夠管理和部署到多個(gè)集群
- SSO 集成(OIDC、OAuth2、LDAP、SAML 2.0、GitHub、GitLab、Microsoft、LinkedIn)
- 用于授權(quán)的多租戶和 RBAC 策略
- 回滾/隨處回滾到 Git 存儲(chǔ)庫中提交的任何應(yīng)用程序配置
- 應(yīng)用資源健康狀況分析
- 自動(dòng)配置漂移檢測和可視化
- 自動(dòng)或手動(dòng)將應(yīng)用程序同步到所需狀態(tài)
- 提供應(yīng)用程序活動(dòng)實(shí)時(shí)視圖的 Web UI
- 用于自動(dòng)化和 CI 集成的 CLI
- Webhook 集成(GitHub、BitBucket、GitLab)
- 自動(dòng)化的訪問令牌
- PreSync、Sync、PostSync 掛鉤以支持復(fù)雜的應(yīng)用程序部署(例如藍(lán)色/綠色和金絲雀升級(jí))
- 應(yīng)用程序事件和 API 調(diào)用的審計(jì)跟蹤
- Prometheus 指標(biāo)
- 用于覆蓋 Git 中的 ksonnet/helm 參數(shù)的參數(shù)覆蓋
評(píng)論
圖片
表情
