瞭解如何在 主管 上建立和設定 vSphere 命名空間。身為 vSphere 管理員,可以在建立 vSphere 命名空間 後對命名空間設定資源限制和權限,以便 DevOps 工程師能夠存取該命名空間。您可以將 Kubernetes 控制平面的 URL 提供給 DevOps 工程師,使其能夠在具有權限的命名空間上執行工作負載。

設定了 VDS 網路堆疊的 主管 上的命名空間和設定了 NSX 的叢集上的命名空間具有不同的網路組態和功能。在三個 vSphere 區域中部署的 主管 上所設定的命名空間還支援與單區域 主管 上的命名空間不同的功能集。
  • 設定了 NSX 的單區域 主管。此類 主管 上的 vSphere 命名空間 支援 vSphere 網繭、虛擬機器、Tanzu Kubernetes Grid 叢集和 主管服務。這些 vSphere 命名空間 的工作負載網路支援由 NSX 提供。
  • 設定了 NSX 的三區域 主管。在設定了 NSX 的三區域 主管 上的 vSphere 命名空間 僅支援 Tanzu Kubernetes Grid 叢集和虛擬機器。它們不支援 vSphere 網繭主管服務
  • 設定了 VDS 的單區域 主管。在具有 VDS 的單區域 主管 上的 vSphere 命名空間 支援 Tanzu Kubernetes Grid、虛擬機器和 主管服務。除了 主管服務 部署供自己使用的裝置外,它們不支援 vSphere 網繭
  • 設定了 VDS 的三區域 主管。執行具有 VDS 的三區域 主管vSphere 命名空間 僅支援 Tanzu Kubernetes Grid 叢集和虛擬機器。它們不支援 vSphere 網繭主管服務

如需詳細資訊,請參閱vSphere IaaS 控制平面概念和規劃中的〈啟用具有 HA Proxy 負載平衡器的三區域主管的需求〉〈啟用具有 VDS 網路和 HAProxy 負載平衡器的單一叢集主管的需求〉

此外,還可以將資源限制設定為命名空間,指派權限,以及將叢集上的命名空間服務作為範本進行佈建或啟用。這樣一來,DevOps 工程師可以自助服務方式建立主管命名空間並在其中部署工作負載。如需詳細資訊,請參閱 在 vSphere IaaS control plane 中佈建自助服務命名空間範本

如果對 主管 使用 NSX,則可以選擇在 vSphere 命名空間 層級覆寫網路設定。如果選取該選項,請記住以下注意事項:
表 1. vSphere 命名空間 網路規劃考量事項
考量事項 說明
NSX 安裝 若要覆寫特定 vSphere 命名空間主管 網路設定,NSX 必須包括一個專用於第 0 層閘道 (路由器) 的 Edge 叢集和另一個專用於第 1 層閘道的 Edge 叢集。請參閱安裝和設定 vSphere IaaS 控制平面指南中提供的 NSX 安裝指示。
需要 IPAM 如果覆寫特定 vSphere 命名空間主管 網路設定,新的 vSphere 命名空間 網路必須指定在 主管 和任何其他 vSphere 命名空間 網路中唯一的入口、出口和命名空間網路子網路。您需要相應地管理 IP 位址配置。
主管 路由 主管 必須能夠直接路由到 TKG 叢集節點和入口子網路。為 vSphere 命名空間 選取第 0 層閘道時,有兩個選項可以設定所需的路由:
  • 使用虛擬路由和轉送 (VRF) 閘道從 主管 第 0 層閘道繼承組態
  • 使用邊界閘道通訊協定 (BGP) 設定 主管 第 0 層閘道和專用第 0 層閘道之間的路由

如需有關這些選項的詳細資料,請參閱 NSX 第 0 層閘道說明文件。

必要條件

  • 部署 主管
  • 為需要存取 vSphere 命名空間 的 DevOps 工程師和開發人員建立使用者和群組。在連線到 vCenter Single Sign-On 的身分識別來源或設定了 主管 的 OIDC 提供者中建立使用者或群組。
  • 為持續性儲存區建立儲存區原則。如果命名空間位於三區域 主管 中,請使用拓撲感知原則。無法將非拓撲感知儲存區原則指派給三區域命名空間。
  • 為獨立虛擬機器建立虛擬機器類別和內容程式庫。
  • 必要權限:
    • 命名空間.修改叢集範圍的組態
    • 命名空間.修改命名空間組態

程序

  1. vSphere Client 主功能表中,選取工作負載管理
  2. 選取命名空間索引標籤。
  3. 按一下建立命名空間
  4. 選取要放置 vSphere 命名空間主管
  5. 輸入命名空間的名稱。
    名稱必須採用符合 DNS 的格式。
  6. 網路下拉式功能表中,為 vSphere 命名空間 選取工作負載網路。
    備註: 只有在設定了 vSphere 網路堆疊的叢集上建立命名空間時,才可使用此步驟。
  7. 如果已為 主管 設定 NSX 網路堆疊,則可以選取覆寫叢集網路設定以覆寫 主管 網路設定並為命名空間設定網路設定。
    為命名空間設定以下網路設定:
    選項 說明
    第 0 層閘道 選取要與命名空間第 1 層閘道相關聯的第 0 層閘道。

    選取第 0 層閘道會覆寫在啟用叢集時設定的第 0 層閘道,因此您必須重新設定 CIDR 範圍。

    備註: 主管 必須能夠直接路由到 TKG 叢集節點和入口子網路。
    • 如果選取連結至第 0 層閘道的 VRF 閘道,則會自動設定網路和子網路。
    • 如果已選取 NAT 模式,則必須設定子網路、入口和出口 CIDR。
    • 如果取消選取 NAT 模式,則必須僅設定子網路和入口 CIDR。
    備註: 選取第 0 層閘道後,便無法對其進行變更。
    NAT 模式 依預設,會選取 NAT 模式。
    如果取消選取此選項,則所有工作負載 (例如 vSphere 網繭、虛擬機器和 Tanzu Kubernetes Grid 叢集節點 IP 位址) 均可從第 0 層閘道外部直接存取,並且您不需要設定出口 CIDR。
    備註: 啟用命名空間模式後,便無法對其進行變更。
    負載平衡器大小 選取命名空間的第 1 層閘道上的負載平衡器執行個體大小。
    命名空間網路 輸入一或多個 IP CIDR 以建立子網路/區段,並為連線至命名空間的工作負載指派 IP 位址。
    備註: 如果並未針對叢集設定 CIDR 範圍,請輸入該範圍。您可以在建立命名空間後,透過編輯命名空間網路設定來設定其他 CIDR。
    命名空間子網路首碼 輸入子網路首碼,以指定為命名空間區段保留的子網路大小。預設值為 28。
    備註: 指定子網路首碼後,便無法對其進行變更。
    Ingress 輸入 CIDR 註解,以確定負載平衡器服務針對 vSphere 網繭Tanzu Kubernetes Grid 叢集發佈的虛擬 IP 位址的入口 IP 範圍。

    您可以在建立命名空間後,透過編輯命名空間網路設定來設定其他 CIDR。

    出口 輸入 CIDR 註解,以確定 SNAT IP 位址的出口 IP 範圍。

    您可以在建立命名空間後,透過編輯命名空間網路設定來設定其他 CIDR。

  8. 輸入說明,然後按一下建立
    命名空間是在 主管 上建立的。
  9. 為可以存取命名空間的使用者設定權限。
    身為 vSphere 管理員,您可以在 vSphere 命名空間 上為需要存取命名空間的開發人員和 DevOps 工程師設定權限。一個使用者帳戶可以存取多個命名空間。屬於管理員群組的使用者可以存取 主管 上的所有命名空間。
    1. 權限窗格中,選取新增權限
    2. 選取身分識別來源、使用者或群組,以及角色,然後按一下確定
      角色 說明
      可以檢視 使用者或群組的唯讀存取權。使用者或群組可以登入 主管 控制平面,並列出在 vSphere 命名空間 中執行的工作負載,例如 vSphere 網繭Tanzu Kubernetes Grid 叢集以及虛擬機器。
      可以編輯 使用者或群組可以建立、讀取、更新和刪除 vSphere 網繭Tanzu Kubernetes Grid 叢集和虛擬機器。屬於管理員群組的使用者對 主管 中的所有命名空間都具有編輯權限。
      擁有者

      具有擁有者權限的使用者帳戶可以:

      • 在命名空間中部署和管理工作負載。
      • 與其他使用者或群組共用命名空間。
      • 使用 kubectl 建立和刪除其他 vSphere 命名空間。具有擁有者權限的使用者共用命名空間時,他們可以將檢視、編輯或擁有者權限指派給其他使用者或群組。
      備註: vCenter Single Sign-On 身分識別來源中的可用使用者支援擁有者角色。不能將擁有者角色與來自外部身分識別提供者的使用者或群組搭配使用。
      將使用者或群組指派給 可檢視可編輯角色時,系統會建立 RoleBinding 並將其對應到 ClusterRole。例如,指派給 可編輯角色的使用者或群組會透過 RoleBinding 對應到 Kubernetes edit ClusterRole。透過 edit 角色,使用者可佈建和運作叢集。可以透過在目標 vSphere 命名空間 中使用命令 kubectl get rolebinding 檢視此對應。
      kubectl get rolebinding -n tkg2-cluster-namespace
      NAME                                                           ROLE                         AGE
      wcp:tkg-cluster-namespace:group:vsphere.local:administrators   ClusterRole/edit             33d
      wcp:tkg-cluster-namespace:user:vsphere.local:administrator     ClusterRole/edit             33d

      將擁有者角色指派給使用者或群組時,系統會建立 ClusterRoleBinding 並將其對應到允許使用者或群組使用 kubectl 建立和刪除 vSphere 命名空間 的 ClusterRole。若要檢視此對應,可以透過 SSH 連線到 主管 控制平面節點。

  10. 將儲存區指派給命名空間。
    指派給命名空間的儲存區原則使 DevOps 團隊可以使用持續性儲存區。
    1. 儲存區窗格中,選取新增儲存區
    2. 選取儲存區原則以控制持續性磁碟區的資料存放區放置,然後按一下確定
    指派儲存區原則後, vSphere IaaS control plane 會在 vSphere 命名空間 中建立相符的 Kubernetes 儲存區類別。如果使用 Tanzu Kubernetes Grid,則儲存區類別會從命名空間自動複寫至 Tanzu Kubernetes Grid 叢集。當您將多個儲存區原則指派給命名空間時,則會為每個儲存區原則建立單獨的儲存區類別。
  11. 從 [容量與使用量] 窗格中,選取編輯限制,並將資源限制設定為該命名空間。
    選項 敘述
    CPU 要為命名空間保留的 CPU 資源數量。
    記憶體 要為命名空間保留的記憶體數量。
    儲存區 要為命名空間保留的儲存空間總量。
    儲存區原則限制 單獨設定專用於與命名空間相關聯之每個儲存區原則的儲存區數量。
    命名空間的資源集區是在 vCenter Server 上建立的。儲存區限制會決定可供命名空間使用的整體儲存區數量,而儲存區原則會決定在相關聯儲存區類別上 vSphere 網繭 持續性磁碟區的放置。
  12. 為獨立虛擬機器設定虛擬機器服務。

下一步

與 DevOps 工程師共用 Kubernetes 控制平面 URL,以及可用來透過 vSphere 適用的 Kubernetes CLI 工具 登入 主管 的使用者名稱。您可以將對多個命名空間的存取權授與一個 DevOps 工程師。請參閱 〈連線到 vSphere IaaS 控制平面叢集〉
備註:vSphere IaaS 控制平面服務和工作負載指南不包含有關在 Tanzu Kubernetes Grid 叢集上執行工作負載的資訊。若要瞭解如何使用 Tanzu Kubernetes Grid 叢集,請參閱 〈將主管上的 Tanzu Kubernetes Grid 與 vSphere IaaS 控制平面搭配使用〉