許多團隊使用 Terraform 佈建 AWS,然後繼續:Helm charts、namespaces、add-ons,甚至應用程式 manifest 都放在 EKS 裡。
這看起來很有效率,實際上卻是最快模糊基礎架構與平台界線的方式。
更好的做法雖然一開始較不方便:
- 應用程式 repo 存放原始碼與建置;
- ops repo 存放 Terraform 與 GitOps manifest;
- Terraform 僅負責 AWS 與 EKS 周邊;
- ArgoCD 負責叢集內的所有事物。
真正的問題在於生命週期不一致。VPC、IAM role 與 node group 變更緩慢,而 Kubernetes manifest、平台 add-on 與 image tag 則不斷變動。強迫這兩層都透過 Terraform 進行,會讓基礎架構佈建變成發布引擎。
問題就出在這裡:
- 應用程式部署繼承基礎架構風險;
- 回滾變得比應有的更繁重;
- Terraform 與 ArgoCD 可能會對同一叢集狀態產生衝突;
- CI pipeline 需要它們本不該擁有的叢集憑證。
我寫了完整的解析,包含 repo 結構、Terraform 範例、ArgoCD manifest,以及確切的部署流程:
👉 閱讀完整文章
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.