在 Azure Stack Edge 上部署 Azure Kubernetes Service
適用於:Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R
注意
僅有您是 SAP 或 PMEC 客戶時,才使用此程序。
本文說明如何在 Azure Stack Edge 裝置上部署和管理 Azure Kubernetes Service (AKS)。 您也可以使用本文來建立永續性磁碟區、使用 GitOps 來管理已啟用 Arc 的 Kubernetes 叢集,以及移除 AKS 和 Azure Arc。
本文的目標受眾是熟悉在 Azure Stack Edge 裝置上設定和部署工作負載的 IT 管理員。
關於 Azure Stack Edge 上的 Azure Kubernetes Service
Azure Stack Edge 是具備 AI 能力的邊緣計算裝置,並具有高性能網路輸入/輸出功能。 在 Azure Stack Edge 裝置上設定計算之後,您可以使用 Azure 入口網站來部署 Azure Kubernetes Service,包括基礎結構 VM。 AKS 叢集會透過 Azure Arc 用於工作負載部署。
必要條件
開始之前,請確定︰
您有一個 Microsoft 帳戶並具有可存取 Azure 入口網站的認證,以及 Azure Stack Edge Pro GPU 裝置的存取權。 Azure Stack Edge 裝置將使用設定及啟動您的裝置中的指示來設定和啟動。
您至少已建立並啟用一個虛擬交換器,以供在 Azure Stack Edge 裝置上進行計算。 如需了解詳細步驟,請參閱建立虛擬交換器。
您有用戶端可存取執行支援作業系統的裝置。 若是使用 Windows 用戶端,請確保其執行的是 PowerShell 5.0 或更新版本。
在 Kubernetes 叢集上啟用 Azure Arc 之前,請確保您已針對訂用帳戶啟用並註冊
Microsoft.Kubernetes
和Microsoft.KubernetesConfiguration
資源提供者。 如需詳細步驟,請參閱透過 Azure CLI 註冊資源提供者。若您想要部署適用於 Kubernetes 叢集的 Azure Arc,則您會需要建立資源群組。 您必須具有該資源群組的擁有者層級存取權。
若要確認資源群組的存取層級,請前往 [資源群組] > [存取權控制 (IAM)] > [檢視我的存取權]。 在 [角色指派] 底下,您必須被列為擁有者。
視您想要部署的工作負載而定,您可能需要確保下列選用步驟也均已完成:
若您想要在已啟用 Arc 的叢集上部署自訂位置,則您必須針對訂用帳戶註冊
Microsoft.ExtendedLocation
資源提供者。您必須擷取自訂位置物件識別碼,並用其透過裝置的 PowerShell 介面啟用自訂位置。
az login az ad sp show --id bc313c14-387c-4e7d-a58e-70417303ee3b --query id -o tsv
以下是使用 Azure CLI 的範例輸出。 您可以在 Azure 入口網站中透過 Cloud Shell 執行相同的命令。
PS /home/user> az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv 51dfe1e8-70c6-4de5-a08e-e18aff23d815 PS /home/user>
如需詳細資訊,請參閱在已啟用 Azure Arc 的 Kubernetes 上建立和管理自訂位置。
如需部署 Kubernetes 或 PMEC 工作負載:
- 您可能已使用本機 UI 或使用 PowerShell 選取特定的工作負載設定檔。 適用於本機 UI 的詳細步驟記載於設定計算 IPS中;適用於 PowerShell 的則記載於變更 Kubernetes 工作負載設定檔中。
- 您可能會需要建立虛擬網路中的指示來新增虛擬網路。
若您使用 HPN VM 作為基礎結構 VM,則應該會自動保留 vCPU。 請執行下列命令以確認是否有保留:
Get-HcsNumaLpMapping
當您安裝或更新至 Azure Stack Edge 2307 時,就會套用此設定。 在更新期間不會套用設定的案例有兩種:
當您設定的 minroot vCPU 超過 Numa0 的四個 vCPU + Numa1 中所有 vCPU 時。 此案例主要適用於為 minroot 設定所有 vCPU 的 Azure Stack Edge 閘道客戶。 針對 Azure Stack Edge Pro 2,只會有一個 Numa。 針對具有 40 個核心的 Azure Stack Edge Pro 2,其設定的 minroot vCPU 超過 24 個 vCPU,而針對具有 48 個 vCPU 的 Azure Stack Edge Pro 2,其已設定超過 28 個 vCPU。
當您已部署 HPN VM,且在具有 40 個核心的電腦上耗用超過 16 個 vCPU,或在具有 48 個核心的電腦上耗用超過 20 個 vCPU 時。
以下是適用於 Azure Stack Edge Pro GPU 的範例輸出:
Hardware: { Numa Node #0 : CPUs [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] } HpnCapableLpMapping: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] } 7MT0SZ2: HpnLpMapping: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [] } HpnLpAvailable: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [] }
在 Azure Stack Edge 上部署 AKS
在 Azure Stack Edge 上部署 AKS 有多個步驟。 某些步驟為選用,如下所示。
確認已啟用 AKS
若要確認已啟用 AKS,請前往 Azure 入口網站中您的 Azure Stack Edge 資源。 在 [概觀] 窗格中,選取 [Azure Kubernetes Service] 圖格。
設定自訂位置 (選用)
執行下列命令做為選項來設定自訂位置。 輸入您在完成必要條件時擷取的自訂位置物件識別碼。
Set-HcsKubeClusterArcInfo –CustomLocationsObjectId <custom_location_object_id>
以下是使用 Azure CLI 的範例輸出。 您可以在 Azure 入口網站中透過 Cloud Shell 執行相同的命令。
[1d9nhq2.microsoftdatabox.com]: PS> Set-HcsKubeClusterArcInfo –CustomLocationsObjectId 51dfe1e8-70c6-4de5-a08e-e18aff23d815 [1d9nhq2.microsoftdatabox.com]: PS>
指定靜態 IP 集區 (選用)
此為選用步驟,您可以在其中為 Kubernetes Pod 所使用的虛擬網路指派 IP 集區。
注意
SAP 客戶可以略過此步驟。
您可以針對 Kubernetes 啟用的每個虛擬網路指定靜態 IP 位址集區。 針對 Kubernetes 啟用的虛擬網路會產生針對 Kubernetes 叢集建立的 NetworkAttachmentDefinition
。
在應用程式佈建期間,Kubernetes Pod 可以在容器網路介面的 IP 集區中使用靜態 IP 位址,例如容器單一根 I/O 虛擬化 (SR-IOV) 介面。 這可以透過指向 PodSpec 中的 NetworkAttachmentDefinition
來完成。
使用下列步驟以在裝置的本機 UI 中指派靜態 IP 集區。
前往 Azure 入口網站中的 [進階網路] 頁面。
如果您先前並未建立虛擬網路,請選取 [新增虛擬網路] 以建立虛擬網路。 您需要指定與虛擬網路、VLAN 識別碼、子網路遮罩和閘道相關聯的虛擬交換器。
在此處所示的範例中,我們已設定三個虛擬網路。 在這些虛擬網路中,VLAN 都是 0,且子網路遮罩和閘道與外部值相符;例如,255.255.0.0 和 192.168.0.1。
將 IP 位址集區指派至虛擬網路:
在 [Kubernetes] 頁面上,選取您建立的虛擬網路,並針對 Kubernetes 啟用該項。
針對虛擬網路中的 Kubernetes Pod 指定連續的靜態 IP 範圍。 在此範例中,將針對我們建立的三個虛擬網路提供一個 IP 位址範圍。
選取 [套用],以套用對所有虛擬網路的變更。
注意
AKS 叢集一經部署,您將無法修改 IP 集區設定。
設定計算虛擬交換器
請使用此步驟設定適用於 Kubernetes 計算流量的虛擬交換器。
在裝置的本機 UI 中,前往 [Kubernetes] 頁面。
選取 [修改] 以設定針對 Kubernetes 計算流量的虛擬交換器。
在具有網際網路存取權的連接埠上啟用計算。 例如,在此情況下,已連線到網際網路的連接埠 2 會啟用計算。 具有網際網路存取權可讓您從 AKS 擷取容器映像。
Azure 一致服務虛擬 IP 必須能夠透過外部路由或透過在相同網路上建立 Azure 一致服務虛擬 IP,來連線到此計算虛擬交換器網路。
針對 Kubernetes 節點,請為此連接埠指定相同子網路中六個靜態 IP 的連續範圍。
作為 AKS 部署的一部分,將會建立兩個叢集:一個管理叢集和一個目標叢集。 您指定 IP 的使用方式將如下所示:
管理叢集需要兩個 IP = 1 個 IP 用於管理控制平面網路介面 + 1 個用於 API 伺服器 (VIP) 的 IP。
目標叢集需要 (2+n) IP = 1 個 IP 用於目標叢集控制平面網路介面 + 1 個 IP 用於 API 伺服器 (VIP) + 節點數目 n。
額外的 IP 將用於輪流更新。
針對單一節點裝置,上述會產生六個 IP 來部署 Kubernetes 叢集。 針對兩個節點叢集,您會需要七個 IP。
針對 Kubernetes 外部服務 IP,請為 Kubernetes 叢集外部公開的服務提供靜態 IP。 每一個這類型的服務都需要一個 IP。
啟用 VM 雲端管理
此為必要步驟,才能讓 Azure Stack Edge 入口網站在適用於 AKS 的 Azure Stack Edge 裝置上部署基礎結構 VM;例如,針對目標叢集背景工作角色節點。
在 Azure 入口網站中,前往 Azure Stack Edge 資源。
前往 [概觀],然後選取 [虛擬機器] 圖格。
在 [虛擬機器] > [概觀] 頁面中,選取 [啟用] [虛擬機雲端管理]。
設定 Kubernetes 叢集並啟用 Arc
使用此步驟來設定及部署 Kubernetes 叢集,並將其啟用以透過 Arc 進行管理。
重要
在您建立 Kubernetes 叢集之前,請謹記:
- 在部署 AKS 叢集之後,您將無法修改 IP 集區設定。
- 在啟用 AKS 目標叢集的 Arc 中,如果物件識別碼是使用本文中設定自訂位置 (選用) 區段中的選用命令傳遞,則會啟用自訂位置。 如果您未啟用自訂位置,您仍然可以選擇在建立 Kubernetes 叢集之前執行此動作。 開始叢集部署之後,您將無法設定自訂位置。
請遵循這些步驟來部署 AKS 叢集。
在 Azure 入口網站中,前往 Azure Stack Edge 資源。
選取 [Azure Kubernetes Service] 圖格。
選取 [新增] 以設定 AKS。
在 [建立 Kubernetes 服務] 對話方塊中,針對基礎結構 VM 選取 Kubernetes 的 [節點大小]。 選取適合您所要部署工作負載大小的 VM 節點大小。 在此範例中,我們已選取 VM 大小 [Standard_F16s_HPN – 16 個 vCPU、32.77 GB 記憶體]。
針對 SAP 部署,請選取 VM 節點大小 [Standard_DS5_v2]。
注意
若節點大小下拉式功能表沒有選項,請稍候幾分鐘,以便在上個步驟中啟用的 VM 進行同步處理。
勾選 [透過已啟用 Arc 的 Kubernetes 從雲端管理容器]。 若勾選此選項,就會在建立 Kubernetes 叢集時啟用 Arc。
若您選取 [變更],則必須提供訂用帳戶名稱、資源群組、叢集名稱和區域。
選取 [建立] 以建立 Kubernetes 服務。
開始建立叢集時,您會收到通知。
新增永續性磁碟區
PersistentVolume (PV) 是指 Kubernetes 叢集中的一段儲存體。 Kubernetes 儲存體可以靜態佈建為 PersistentVolume
。 它也可以動態佈建為 StorageClass
。 如需詳細資訊,請參閱 Kubernetes Pod 的儲存體需求。
取決於建立共用時是否內嵌啟用計算,建立 PV 有兩個不同的工作流程。 下列各節會詳細討論這些工作流程。
在共用建立期間建立已啟用內嵌計算的永續性磁碟區
在您的 Azure Stack Edge Pro 裝置上,裝置的儲存體功能會用來建立靜態佈建的 PersistentVolumes
。 當您佈建共用且 [使用共用搭配 Edge 計算] 選項已啟用時,此動作會在 Kubernetes 叢集中自動建立 PV 資源。
若要使用雲端階層處理,您可以建立 Edge 雲端共用,並啟用 [使用共用搭配 Edge 計算] 選項。 PV 會再次針對此共用自動建立。 若您啟用此選項,您寫入 Edge 共用的任何應用程式資料都會分層至雲端。
在共用建立期間建立未啟用內嵌計算的永續性磁碟區
針對使用未勾選 [使用共用搭配 Edge 計算] 共用選項建立的共用,您可以使用下列步驟來新增永續性磁碟區。
在 Azure 入口網站中,移至裝置的 Azure Stack Edge 資源。 前往 [雲端儲存空間閘道] > [共用]。 您可以看到目前裝置具有已啟用「用於計算」狀態的共用。
選取 [+ 新增共用]。 針對此共用,請確保取消勾選 [使用共用搭配 Edge 計算] 選項。
您可以在共用清單中看到新建立的共用,以及「用於計算」的狀態為「已停用」。
返回 [Azure Stack Edge 資源] > [概觀]。 在右窗格中,選取 [Azure Kubernetes Service] 圖格。
在 [Azure Kubernetes Service] > [概觀] 頁面中,[永續性磁碟區] 圖格會顯示已存在的永續性磁碟區。 這些磁碟區會在使用已啟用 [使用共用搭配 Edge 計算] 選項建立共用時自動建立。 若要建立新的永續性磁碟區,請選取 [+ 新增永續性磁碟區]。
在 [新增永續性磁碟區] 對話方塊中,選取您要建立永續性磁碟區的共用。
您會看到正在建立永續性磁碟區的通知。 此作業需要幾分鐘才能完成。
建立永續性磁碟區之後,[概觀] 頁面將會更新以包含新增的永續性磁碟區。
選取 [檢視所有永續性磁碟區] 以查看新建立的永續性磁碟區。
移除 Azure Kubernetes Service
在 Azure 入口網站中遵循下列步驟以移除 AKS。
在您的 Azure Stack Edge 資源中,前往 [Azure Kubernetes Service] > [概觀]。
從頂端命令列,選取 [移除]。
選取您想要與 AKS 一起移除的已設定附加元件。 已啟用 Azure Arc 的 Kubernetes 是附加元件。 選取 [移除] 之後,就會移除所有 Kubernetes 組態和所選取的附加元件。 該作業為不可逆且無法復原。
選取確定以確認操作。