雲端與基礎設施

專案說明 / 進行中

Johnaverse Fleet 與 Docker Terraform

以 Flux GitOps 管理 Kubernetes fleet,並以獨立 Terraform 根模組管理 Docker 服務。

  • Johnaverse Fleet
  • FluxCD
  • Docker
  • Terraform

挑戰

雲端資源和容器只是整體環境的一部分,執行它們的機器也需要可管理的設定與更新流程。Johnaverse Fleet 和 johnaverse-docker-tf 將這些工作納入我的基礎設施流程。

做法

Johnaverse Fleet 將 Kubernetes 設定保存在 Git。Flux 從各環境各自的設定路徑進行調和,部分工作負載則透過 image automation 提出映像標籤變更,交由 review branch 審查。

johnaverse-docker-tf 使用彼此獨立的 Terraform root 管理 Docker 服務。共用網路先於其相依服務設定;每個服務都有自己的初始化、驗證與 plan 流程。

我的貢獻與範疇

Flux 從 Git 調和 Kubernetes 設定;Docker 服務則透過明確的 Terraform plan 與 apply 流程管理。兩種控制迴路的共同目標,是在變更到達工作負載前,清楚呈現預期狀態及影響範圍。

我維護自己 fleet 與容器環境中的設定、工作負載定義和服務相依性。具狀態 Docker 變更前,流程要求建立可復原備份和回滾路徑,apply 後再驗證服務。更新策略也會依工作負載選擇受控變更或自動容器更新。