簡述如何使用ArgoCD實現CI/CD部署? - reddit

banq發表於2022-03-01

ArgoCD 是一款出色的 Kubernetes 編排工具,下面從架構高度抽象描述一下:

通常一個公司內有3種“型別”的程式碼儲存庫:

  • 基礎設施(主要是 Terraform)

    Terraform驅動基礎設施的建立(如果它在某個地方實際存在,我們用Terraform來建立/銷燬它)。通常是長期的,因為我們是通過自動縮放來Terraform k8s叢集和虛擬機器組。很少會有Terraform涉及到K8s資源。編寫HCL來建立YAML是相當糟糕的。

  • 程式碼(實際產品程式碼):

    CI負責執行測試,並在 "程式碼 "倉庫中構建映象。一旦映象構建完成,開發人員就會建立PR來更新 "部署 "版本(正在進行自動化),或者由cronjob來採集映象。

  • 部署(包含 k8s 配置檔案):

    ArgoCD負責 "CD "過程,一旦PR合併到 "部署 "版本,ArgoCD就負責推出,等等。

相關文章