使用 ArgoCD 自動化 Kubernetes 部署

使用 ArgoCD 自動化 Kubernetes 部署

我們有一個包含所有 Kubernetes 叢集 yaml 檔案的 GitHub 儲存庫,當我們想要更新部署時,我們只需編輯 yaml 並推送到 GitHub。

不幸的是,我們必須kubectl apply -f file.yaml

如何使用 ArgoCD 或其他 CD 工具來自動化部署?

我們希望有一個工作流程觸發器,一旦將 YAML 檔案變更推送到 GitHub,就會自動將變更套用到叢集。

我們面臨的問題是 GitHub Repo 並不是特定部署所獨有的,並且如上所述,它包含整個叢集的所有 YAML 檔案。

目前,我們認為唯一的選擇是 kubectl 應用整個 GitHub 儲存庫,但如果只有一個檔案發生了變化,這沒有意義?

答案1

我會調查一下通量。您可以將 Flux 指向儲存庫的根目錄(或特定目錄),它將負責部署您定義的清單。它還可以檢測更改,因此如果您將更改推送到儲存庫,Flux 將推出更改。

ArgoCD 也可以工作。但由於您提到該儲存庫並非特定部署所獨有,並且包含整個叢集的清單,因此 Flux 在這種情況下可能會運作得更好。

最好嘗試這兩種工具或任何其他工具,看看哪種最適合您的工作流程。

相關內容