部署獨立管理叢集

本節概述如何部署獨立 Tanzu Kubernetes Grid 管理叢集。部署管理叢集時,會完成 Tanzu Kubernetes Grid 安裝程序,並使 Tanzu Kubernetes Grid 正常運作。

在您執行安裝 Tanzu CLI 和其他工具以用於獨立管理叢集中所述的步驟後,您可以將管理叢集部署到 vSphere 6.7、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 作業,以在該提供者上建立及管理工作負載叢集。管理叢集也是您設定工作負載叢集使用的共用服務和叢集內服務的位置。

叢集部署程序

下圖顯示用來針對不同的 IaaS 提供者 (例如,vSphere 6.7、7 和 8、AWS 和 Azure) 部署管理叢集和工作負載叢集的高層級步驟,以及用來執行這些步驟的介面。

部署管理叢集和工作負載叢集,安裝 Tanzu CLI,選取 UI 或檔案組態,然後選取 IaaS

安裝程式 UI 與 CLI 的對照

您可以透過兩種方式來部署管理叢集:

  • 執行 Tanzu Kubernetes Grid 安裝程式,這是一個精靈介面,可引導您完成部署管理叢集的程序。這是建議的方法。
  • 建立和編輯 YAML 組態檔,然後使用它們透過 CLI 命令來部署管理叢集。

平台

您可以在以下平台上部署及管理 Tanzu Kubernetes Grid 獨立管理叢集:

  • vSphere 6.7u3
  • vSphere 7 (如果未啟用主管叢集)。
  • vSphere 8 (如果未啟用主管)。
  • Amazon Web Services (AWS)
  • Microsoft Azure

您可以將管理叢集部署為單一節點控制平面 (用於部署),也可以部署為高度可用的多節點控制平面 (用於生產環境)。

管理叢集及其組態檔

在啟動機器上執行 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》中的工作負載叢集

  • CLItanzu mc create --file 會使用叢集組態檔來建立管理叢集。在執行 tanzu mc create 之前,請在叢集組態檔中設定組態參數 (例如 INFRASTRUCTURE_PROVIDER),然後將其傳遞給 --file 選項。建議的做法是針對您所部署的每個管理叢集,分別使用專用的組態檔。

您還可以將組態參數設定為環境變數。如果您設定的參數有衝突,環境變數會覆寫傳遞給 --file 選項的檔案中所設定的組態參數:

  • 本機環境變數:會持續保留在終端工作階段上。這些變數也會覆寫 Tanzu CLI 組態檔 (~/.config/tanzu/config.yaml) 中的環境變數。
  • ~/.config/tanzu/config.yaml 中的環境變數,透過執行 tanzu config set 來設定:會持續保留,直到您執行 tanzu config unset 來取消設定它們為止。

tanzu mc create 命令會依以下的遞增優先順序,來使用這些來源和輸入:

  1. ~/.config/tanzu/tkg/providers/config_default.yaml:此檔案包含系統預設值,且不應變更。
  2. 使用 --file 選項:叢集組態檔,預設值為 ~/.config/tanzu/tkg/cluster-config.yaml。此檔案會設定 tanzu mc create 的特定叫用。使用不同的組態檔來儲存多個組態。
  3. 透過執行 tanzu config set 所設定的環境變數:~/.config/tanzu/config.yaml 檔案。這些變數會套用至所有 tanzu 命令。本機環境變數會覆寫 ~/.config/tanzu/config.yaml 中的變數。
  4. 本機環境變數:本機環境中的參數設定會覆寫組態檔中的設定。使用它們可快速做出組態選擇,而無需搜尋及編輯組態檔。
  5. 使用 --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 createtanzu 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 內容變更為新叢集。

check-circle-line exclamation-circle-line close-line
Scroll to top icon