本快速入門導覽課程說明如何使用 Config Sync,以 GitOps 方法管理 Google Kubernetes Engine 叢集。透過 GitOps 工作流程,您可以將 Git 存放區做為叢集設定的單一可靠資料來源。
使用 Config Sync 可享有下列優點:
- 強制執行一致性:確保所有叢集都採用相同的設定,降低設定偏移的風險。
- 提升安全性:集中管理及稽核叢集設定,方便強制執行安全政策。
- 提高速度:自動推出設定變更,讓您更快且更可靠地部署變更。
在本教學課程中,您將建立 GKE 叢集,並設定 Config Sync 從範例存放區同步處理設定檔。本教學課程可協助您瞭解 Config Sync 的運作方式,並體驗如何使用 Config Sync,以一致且自動化的方式管理叢集。
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
請確認您在專案中具備下列角色: Kubernetes Engine 管理員
檢查角色
-
前往 Google Cloud 控制台的「IAM」頁面。
前往「IAM」頁面 - 選取專案。
-
在「主體」欄中,找出所有識別您或您所屬群組的資料列。如要瞭解自己所屬的群組,請與管理員聯絡。
- 針對指定或包含您的所有列,請檢查「角色」欄,確認角色清單是否包含必要角色。
授予角色
-
前往 Google Cloud 控制台的「IAM」頁面。
前往「IAM」頁面 - 選取專案。
- 按一下「Grant access」(授予存取權)。
-
在「New principals」(新增主體) 欄位中,輸入您的使用者 ID。 這通常是指 Google 帳戶的電子郵件地址。
- 按一下「選取角色」,然後搜尋角色。
- 如要授予其他角色,請按一下「Add another role」(新增其他角色),然後新增其他角色。
- 按一下「Save」(儲存)。
-
建立叢集
在本節中,您將建立本教學課程要用的叢集。雖然在實際使用情況中,您可能會管理多個叢集,但為了簡化本教學課程,您只會建立及管理一個叢集。
如要建立叢集,請完成下列步驟:
啟用 Google Kubernetes Engine API。
在 Google Cloud 控制台中,前往「Kubernetes Engine」頁面。
點選 add_box「建立」。
在「Autopilot」部分,選取「Configure」(設定)。
在「叢集基本資訊」部分,於「名稱」欄位中輸入
cs-cluster。建議在所有其他欄位保留預設值。點按「Create」(建立)。系統會將您帶往「Kubernetes clusters」(Kubernetes 叢集) 頁面。叢集會在幾分鐘內建立完成。在叢集旁的「狀態」欄看到綠色勾號,就表示叢集已準備就緒。
設定叢集
現在您已擁有叢集,可以設定 Config Sync,從 Git 存放區同步處理設定檔。
如要在 Google Cloud 控制台中設定 Config Sync,請完成下列步驟:
- 前往 Google Cloud 控制台的「Features」(功能) 區段,然後點選「Config」(設定) 頁面。
- 按一下「安裝 Config Sync」add。
- 選取要使用的 Config Sync 版本。
- 在「安裝選項」下方,選取「在個別叢集上安裝 Config Sync」。
- 在「可用叢集」資料表中,選取
cs-cluster,然後按一下「安裝 Config Sync」。 在「設定」分頁中,幾分鐘後,cs-cluster的狀態應會顯示為「已啟用」。 - 在 Config Sync 資訊主頁中,按一下「Deploy cluster package」(部署叢集套件)。
- 在「選取叢集來部署套件」資料表中,選取
cs-cluster,然後按一下「繼續」。 - 保持選取「Package hosted on Git」,然後按一下「繼續」。
- 在「套件名稱」欄位中輸入
sample-repository。 - 在「Repository URL」(存放區網址) 欄位中,輸入
https://github.com/GoogleCloudPlatform/anthos-config-management-samples。 - 在「Path」(路徑) 欄位中輸入
config-sync-quickstart/multirepo/root。 - 所有其他欄位則保留預設值。
按一下「部署套件」。
幾分鐘後,
cs-cluster的「同步處理狀態」欄應會顯示「已同步處理」。
現在 Config Sync 與存放區同步處理完成後,就會持續使用存放區中的設定來協調叢集狀態。
查看套件詳細資料
如要查看 Config Sync 管理的物件,請前往「套件」分頁,然後按一下 cs-cluster。套件詳細資料頁面會顯示所有已同步資源的總覽,包括資源類型和資源同步的命名空間。
(選用) 探索範例存放區
套用至叢集的設定定義於 /config-sync-quickstart/multirepo/ 存放區。這個範例展示多存放區設定,其中叢集管理員層級的設定 (以 root 存放區表示) 與命名空間層級的設定 (以 namespaces 存放區表示) 分開。在本範例中,這些設定會分成不同資料夾。在實際情況中,您可能會將設定儲存在兩個不同的存放區,並設定不同的存取權限。
從高層次來看,叢集層級或根存放區通常由中央管理員管理,並包含叢集層級的資源、命名空間設定和政策。命名空間層級的存放區通常包含特定命名空間的設定,且通常由應用程式團隊管理。
您可能會在根存放區中儲存下列幾種主要檔案類型:
- 命名空間建立:
namespace-gamestore.yaml等檔案會建立命名空間本身。 - 叢集範圍資源:影響整個叢集的文件包括
ClusterRole物件等資源,這些物件會新增叢集範圍的角色,授予權限。 - 連結命名空間存放區:在這個多存放區設定中,金鑰檔案是
reposync-gamestore.yaml檔案。這個RepoSync物件會告知 Config Sync,要從其他路徑同步處理gamestore命名空間的設定。在本範例中,RepoSync物件指向同一存放區中的config-sync-quickstart/multirepo/ namespaces/gamestore目錄,但在實際情境中,您可以指向不同的 Git 存放區。
命名空間存放區包含 gamestore 命名空間的應用程式專屬設定。舉例來說,configmap-inventory.yaml 檔案包含 gamestore 應用程式的目錄資料。這種 GitOps 設定可讓應用程式團隊對自己的部署作業和命名空間範圍資源擁有更多自主權,不必修改中央根存放區。
清除所用資源
前往 Google Cloud 控制台的 GKE 選單。
按一下
cs-cluster旁的 more_vert「動作」,然後按一下 delete「刪除」。系統提示您進行確認時,再按一下 [Delete] (刪除)。
後續步驟
- 瞭解如何驗證設定。