本節概述如何部署獨立 Tanzu Kubernetes Grid 管理叢集。部署管理叢集時,會完成 Tanzu Kubernetes Grid 安裝程序,並使 Tanzu Kubernetes Grid 正常運作。
在您執行安裝 Tanzu CLI 和 Kubernetes CLI 以用於獨立管理叢集中所述的步驟後,您可以將管理叢集部署到 vSphere 7、vSphere 8、AWS 或 Azure。
重要在 vSphere 8 中的 vSphere with Tanzu 上,由於您可以使用 Tanzu CLI 來連線到內建主管,並部署 TKG 2.x 工作負載叢集,因此不需要部署管理叢集。如需相關資訊,請參閱 vSphere with Tanzu 主管是管理叢集。當未啟用 vSphere with Tanzu 時,支援將獨立管理叢集部署到 vSphere 8,但較好的作法是啟用 vSphere with Tanzu 並使用主管叢集 (如有可能)。
管理叢集是一個 Kubernetes 叢集,可在特定雲端提供者上執行叢集 API 作業,以在該提供者上建立及管理工作負載叢集。管理叢集也是您設定工作負載叢集使用的共用服務和叢集內服務的位置。
附註VMware 建議永遠不要將工作負載部署至獨立管理叢集本身,因為:
- 獨立管理叢集和工作負載叢集各有各的考量。
- 獨立管理叢集不會像工作負載叢集一樣進行備份。為了確保恢復能力,獨立管理叢集組態最好是以程式碼形式來管理。
下圖顯示用來針對不同的 IaaS 提供者 (例如 vSphere 7 和 8、AWS 和 Azure) 部署管理叢集和工作負載叢集的高層級步驟以及用來執行這些步驟的介面。
您可以透過兩種方式來部署管理叢集:
您可以在以下平台上部署及管理 Tanzu Kubernetes Grid 獨立管理叢集:
您可以將管理叢集部署為單一節點控制平面 (用於部署),也可以部署為高度可用的多節點控制平面 (用於生產環境)。
在啟動機器上執行 tanzu mc create
命令,來部署管理叢集。若要部署管理叢集,必須在 tanzu mc create
中指定 --ui
或 --file
選項。
安裝程式介面:tanzu mc create --ui
會使用安裝程式介面來建立管理叢集,並將安裝程式輸入中的設定儲存到叢集組態檔 ~/.config/tanzu/tkg/clusterconfigs/UNIQUE-ID.yaml
,其中 UNIQUE-ID
是產生的檔案名稱。安裝程式還會針對管理叢集的 Cluster
物件產生 Kubernetes 樣式且以類別為基礎的物件規格,該規格會儲存在與管理叢集同名的檔案中。這個以類別為基礎的物件規格僅供參考。尚不支援從以類別為基礎的物件規格來部署管理叢集。如需 TKG 2.x 中的叢集類型的詳細資訊。,請參閱《關於 Tanzu Kubernetes Grid》中的工作負載叢集。
CLI:tanzu mc create --file
會使用叢集組態檔來建立管理叢集。在執行 tanzu mc create
之前,請在叢集組態檔中設定組態參數 (例如 INFRASTRUCTURE_PROVIDER
),然後將其傳遞給 --file
選項。建議的做法是針對您所部署的每個管理叢集,分別使用專用的組態檔。
您還可以將組態參數設定為環境變數。如果您設定的參數有衝突,環境變數會覆寫傳遞給 --file
選項的檔案中所設定的組態參數:
~/.config/tanzu/config.yaml
) 中的環境變數。~/.config/tanzu/config.yaml
中的環境變數,透過執行 tanzu config set
來設定:會持續保留,直到您執行 tanzu config unset
來取消設定它們為止。tanzu mc create
命令會依以下的遞增優先順序,來使用這些來源和輸入:
~/.config/tanzu/tkg/providers/config_default.yaml
:此檔案包含系統預設值,且不應變更。--file
選項:叢集組態檔,預設值為 ~/.config/tanzu/tkg/cluster-config.yaml
。此檔案會設定 tanzu mc create
的特定叫用。使用不同的組態檔來儲存多個組態。tanzu config set
所設定的環境變數:~/.config/tanzu/config.yaml
檔案。這些變數會套用至所有 tanzu
命令。本機環境變數會覆寫 ~/.config/tanzu/config.yaml
中的變數。--ui
選項:安裝程式介面輸入。執行 tanzu mc create --ui
時,安裝程式會根據使用者的輸入,來設定所有管理叢集組態值。執行 tanzu mc create
時,會在啟動機器上使用 Docker 中的 Kubernetes (kind
) 叢集,來建立暫存的管理叢集。在本機建立暫存的管理叢集後,Tanzu Kubernetes Grid 會使用該叢集,在您選擇的平台中佈建最終的管理叢集。
在此程序中,tanzu mc create
會在本機啟動機器上的使用者主目錄中,建立或修改 CLI 組態檔和狀態檔案:
位置 | 內容 | 變更 |
---|---|---|
~/.config/tanzu/tkg/bom/ |
用料表清單 (BoM) 檔,其中列出 Tanzu Kubernetes Grid 建立具有特定作業系統和 Kubernetes 版本的叢集時所需的所有套件的特定版本。一旦有新的 Tanzu Kubernetes 版本發佈,Tanzu Kubernetes Grid 就會新增到此目錄。 | 如果不存在,請新增 |
~/.config/tanzu/tkg/providers/ |
叢集 API、雲端提供者和其他相依項的組態範本檔案,使用 ytt 覆疊加以組織,以進行非破壞性修改。 |
如果不存在,請新增 |
~/.config/tanzu/tkg/providers-TIMESTAMP-HASH/ |
先前安裝中的 /providers 目錄的備份。 |
如果不是第一次安裝,請新增 |
~/.config/tanzu/config.yaml |
Tanzu CLI 所知道的一些管理叢集的名稱、內容和憑證檔案位置,以及哪一個才是目前使用的。這個檔案也會列出 Tanzu CLI 外掛程式的探索來源、tanzu config set 所設定的環境變數,以及 Tanzu CLI 中依預設會啟用或停用的功能。 |
新增管理叢集資訊,並將其設定為 current 。 |
~/.config/tanzu/tkg/cluster-config.yaml |
如果您沒有使用 –file 來指定叢集組態檔,tanzu cluster create 和 tanzu mc create 命令會使用預設叢集組態檔。 最佳做法是使用每個叢集唯一的組態檔。 |
新增空白檔案 (如果尚不存在)。 |
~/.config/tanzu/tkg/clusterconfigs/IDENTIFIER.yaml |
平面叢集組態檔,tanzu mc create –ui 會在其中寫入安裝程式介面所輸入的值。IDENTIFIER 是安裝程式所產生的唯一識別碼。 |
建立檔案 |
~/.config/tanzu/tkg/clusterconfigs/MGMT-CLUSTER-NAME.yaml |
以類別為基礎的叢集組態檔,是 tanzu mc create –ui 根據平面組態檔來產生的。 |
建立檔案 |
~/.config/tanzu/tkg/config.yaml |
Tanzu Kubernetes Grid 核心及其所有提供者的組態和位置清單。 | 如果不存在,請新增 |
~/.config/tanzu/tkg/providers/config.yaml |
類似於 ~/.config/tanzu/tkg/config.yaml ,但僅列出 ~/.config/tanzu/tkg/providers 目錄中的提供者和組態,而不是列出核心 Tanzu Kubernetes Grid 使用的組態檔。 |
如果不存在,請新增 |
~/.config/tanzu/tkg/providers/config_default.yaml |
系統範圍的提供者預設組態。 最佳做法不是編輯此檔案,而是透過 ytt 覆疊檔案來變更提供者組態。 |
如果不存在,請新增 |
~/.kube-tkg/config |
管理叢集 kubeconfig 檔案,其中含有 tanzu CLI 所知道的管理叢集的名稱和憑證。位置會被 KUBECONFIG 環境變數所覆寫。 |
新增管理叢集資訊,並將叢集設定為 current-context 。 |
~/.kube/config |
kubectl CLI 的組態和狀態,包括所有管理叢集和工作負載叢集,並且是目前的內容。 |
新增管理叢集名稱、內容和憑證資訊。請勿將目前 kubectl 內容變更為新叢集。 |