您的 雲端原生儲存區 環境和參與 Kubernetes 叢集的虛擬機器必須符合數個需求。

雲端原生儲存區 需求

  • 相容的 vSphere 版本。
  • 相容的 Kubernetes 版本。
  • 在虛擬機器上部署的 Kubernetes 叢集。如需有關部署 vSphere CSI 外掛程式以及在 vSphere 上執行 Kubernetes 叢集的詳細資料,請參閱 VMware vSphere 容器儲存外掛程式說明文件

Kubernetes 叢集虛擬機器的需求

  • 具有硬體版本 15 或更新版本的虛擬機器。在每個節點虛擬機器上安裝 VMware Tools。
  • 虛擬機器硬體建議:
    • 根據工作負載需求設定充足的 CPU 和記憶體。
    • 針對節點虛擬機器上的主要磁碟使用 VMware Paravirtual SCSI 控制器。
  • 所有虛擬機器都必須可存取共用資料存放區,例如 vSAN。
  • 在每個節點虛擬機器上設定 disk.EnableUUID 參數。請參閱在 vSphere 虛擬機器中設定 Kubernetes 叢集
  • 若要避免錯誤和不可預知的行為,請不要建立 CNS 節點虛擬機器的快照。

CNS 檔案磁碟區的需求

  • 將 vSphere 7.0 版或更新版本與相容的 Kubernetes 版本搭配使用。
  • 使用相容的 CSI 版本。如需相關資訊,請參閱 VMware vSphere 容器儲存外掛程式說明文件
  • 啟用並設定 vSAN 檔案服務。您必須設定必要的檔案服務網域、IP 集區、網路等。如需相關資訊,請參閱 管理 VMware vSAN說明文件。
  • 請遵循特定準則來設定從 Kubernetes 節點中的客體作業系統到 vSAN 檔案共用的網路存取權。請參閱設定 vSAN 檔案共用的網路存取權

設定 vSAN 檔案共用的網路存取權

為了能夠在一般 vSphere Kubernetes 環境中佈建 ReadWriteMany 持續性磁碟區,請設定從 Kubernetes 節點到 vSAN 檔案服務網路中的必要網路、交換器和路由器。

設定網路

設定網路時,請遵循下列需求:
  • 在每個 Kubernetes 節點上,可以針對 vSAN 檔案共用流量使用專用 vNIC。僅當要對檔案磁碟區使用安全資料流量路徑時,才需要此選項。
  • 如果使用專用 vNIC,請確保透過專用 vNIC 的流量可路由到一或多個 vSAN 檔案服務網路。
  • 確保只有每個 Kubernetes 節點上的客體作業系統才可以透過檔案共用 IP 位址直接存取 vSAN 檔案共用。節點中的網繭無法透過其 IP 位址執行 ping 動作或存取 vSAN 檔案共用。

    CNS CSI 驅動程式可確保只有設定為使用 CNS 檔案磁碟區的網繭,才能透過在客體作業系統中建立掛接點來存取 vSAN 檔案共用。

  • 避免在節點虛擬機器與 vSAN 檔案共用之間建立 IP 位址衝突。

下圖是使用 vSAN 檔案共用服務的 CNS 網路組態的範例。

此圖顯示具有 vSAN 檔案共用的 CNS 網路組態。

在圖中,範例網路組態遵循下列準則。
  • 對於 CNS 環境中的不同項目,此組態會使用不同的網路。
    網路 說明
    vSphere 管理網路 通常,在一般 Kubernetes 叢集中,每個節點都有權存取此網路。
    網繭或節點網路 Kubernetes 會將此網路用於節點至節點或網繭至網繭通訊。
    專用檔案共用網路 CNS 檔案磁碟區資料流量使用此網路。
    vSAN 檔案共用網路 已啟用 vSAN 檔案共用且檔案共用可用的網路。
  • 每個 Kubernetes 節點都有一個專用於檔案流量的 vNIC。此 vNIC 與用於節點至節點或網繭至網繭通訊的 vNIC 不同。此組態僅用作範例,但並不強制。
  • 只有設定為使用 CNS 檔案共用的應用程式,才能透過節點客體作業系統中的掛接點存取 vSAN 檔案共用。例如,在圖中,會進行下列操作:
    • App-1 和 App-2 網繭設定為使用檔案磁碟區,並且可透過 CSI 驅動程式建立的掛接點存取檔案共用。
    • App-3 和 App-4 未設定檔案磁碟區,且無法存取檔案共用。
  • vSAN 檔案共用將做為容器部署在 ESXi 主機上的 vSAN 檔案共用應用裝置虛擬機器中。Kubernetes 部署器 (可設定、部署和管理 Kubernetes 叢集的軟體或服務) 會設定必要的路由器和交換器,以便 Kubernetes 節點中的客體作業系統可以存取 vSAN 檔案共用。

安全性限制

雖然專用 vNIC 可防止未經授權的網繭直接存取檔案共用,但存在某些安全性限制:
  • CNS 檔案功能假設擁有 CNS 檔案磁碟區識別碼的任何人都是該磁碟區的授權使用者。擁有 CNS 檔案磁碟區識別碼的任何使用者都可以存取儲存在磁碟區中的資料。
  • CNS 檔案磁碟區僅支援 AUTH_SYS 驗證,這是以使用者識別碼為基礎的驗證。若要保護對 CNS 檔案磁碟區中資料的存取,您必須針對存取 CNS 檔案磁碟區的容器使用適當的使用者識別碼。
  • 參考 CNS 檔案磁碟區的未繫結 ReadWriteMany 持續性磁碟區,可以由任何命名空間下任何 Kubernetes 使用者所建立的持續性磁碟區宣告所繫結。確保只有授權使用者可以存取 Kubernetes,以避免安全性問題。

設定 CSI 驅動程式以存取 vSAN 檔案服務叢集

CSI 驅動程式可以在啟用檔案服務的一或多個 vSAN 叢集上佈建檔案磁碟區,視組態而定。

可以將存取權限制為啟用了檔案服務的特定 vSAN 叢集。部署 Kubernetes 叢集時,為 CSI 驅動程式設定對特定檔案服務 vSAN 叢集的存取權。這樣一來,CSI 驅動程式只能在這些 vSAN 叢集上佈建檔案磁碟區。

在預設組態中,CSI 驅動程式會使用 vCenter Server 中可用的任何檔案服務 vSAN 叢集來佈建檔案磁碟區。CSI 驅動程式不會確認在佈建檔案磁碟區時可存取的檔案服務 vSAN 叢集。