委託 AKS 叢集
Azure 私人 5G 核心服務中的封包核心實例會在已啟用 Arc 的 Azure Kubernetes Service (AKS) 叢集上,在 Azure Stack Edge (ASE) 裝置上執行。 本操作指南會示範如何在 ASE 上委託 AKS 叢集,使其準備好部署封包核心實例。
重要
此程式只能用於 Azure Private 5G Core。 其他服務不支援 ASE 上的 AKS。
必要條件
- 完成部署私人行動網路的必要工作。
- 您需要 Azure Stack Edge 資源資源群組的擁有者許可權。
注意
記下 Azure Stack Edge 的資源群組。 在此程式中建立的 AKS 叢集和自訂位置必須屬於此資源群組。
- 檢閱 Azure Stack Edge 虛擬機大小 調整,以確保您的 ASE 有足夠的空間可委託叢集。
在 Azure Stack Edge 裝置上設定 Azure Private MEC 的 Kubernetes
這些步驟會修改 Azure Stack Edge 裝置上的 Kubernetes 叢集,以針對 Azure 私人多重存取 Edge 計算 (MEC) 工作負載進行優化。
- 在本機 UI 中,選取 左側功能表中的 [Kubernetes ]。
- 在 [選擇最能描述您案例的選項] 下,選取 您環境中的 Azure 私人 MEC 解決方案。
- 在 [ 工作負載確認 ] 快顯上,選取 [ 我確認我在我的環境中執行 Azure 私人 MEC],然後按兩下 [ 套用 ] 以關閉快顯。
- 按兩下 [ 套用 ] 以儲存變更。
您應該會在本機 UI 中看到更新的選項 – Kubernetes 會變成 Kubernetes(預覽), 如下圖所示。
如果您移至 Azure 入口網站 並流覽至 Azure Stack Edge 資源,您應該會看到 Azure Kubernetes Service 選項。 您將在啟動叢集並設定Arc中設定 Azure Kubernetes Service。
設定進階網路功能
您現在必須在這些交換器上設定虛擬交換器和虛擬網路。 您將使用 Azure Stack Edge 本機 UI 的進 階網路區 段來執行這項工作。
您可以輸入此頁面上的所有設定,然後選取 底部的 [套 用] 以一次全部套用。
設定三個虛擬交換器。 在下一個步驟之前,必須有一個與每個埠相關聯的虛擬交換器。 如果您已設定其他虛擬網路功能(VNFs),則虛擬交換器可能已經存在。 選取 [新增虛擬交換器],然後針對每個交換器 適當填入側邊面板,然後選取 [ 修改 ] 以儲存該組態。
- 在應啟用計算的埠上建立虛擬交換器(管理埠)。 我們建議使用 vswitch-portX 格式,其中 X 是埠的數目。 例如,在埠 2 上建立 vswitch-port2 。
- 在埠 3 上建立名為 vswitch-port3 的虛擬交換器。
- 在埠 4 上建立名為 vswitch-port4 的虛擬交換器。
您現在應該會看到類似下圖的內容:
設定三個虛擬交換器。 在下一個步驟之前,必須有一個與每個埠相關聯的虛擬交換器。 如果您已設定其他虛擬網路功能(VNFs),則虛擬交換器可能已經存在。 選取 [新增虛擬交換器],然後針對每個交換器 適當填入側邊面板,然後選取 [ 修改 ] 以儲存該組態。
- 在應啟用計算的埠上建立虛擬交換器(管理埠)。 我們建議使用 vswitch-portX 格式,其中 X 是埠的數目。 例如,在埠 3 上建立 vswitch-port3 。
- 使用名稱 vswitch-port5 在埠 5 上建立虛擬交換器。
- 使用名稱 vswitch-port6 在埠 6 上建立虛擬交換器。
您現在應該會看到類似下圖的內容:
建立代表下列介面的虛擬網路(您在 [配置子網] 和 [IP 位址] 中 配置子網和 IP 位址:
- 控制平面存取介面
- 用戶平面存取介面
- 用戶平面數據介面
您可以自行命名這些網路,但在部署 Azure Private 5G Core 時,名稱必須符合您在 Azure 入口網站 中設定的名稱。 如果您使用 VLAN 主幹處理(HA 部署的必要專案),則您有 一個沒有 IP 資訊的單 一 N6 虛擬網路。 設定行動網路時,會完成 VLAN 和 IP 資訊。 透過此設定,您可以使用 N2、N3 和 N6 名稱。
在 [存取 VLAN 或非 VLAN 模式] 下,每個鏈接的數據網路都有 N6 個虛擬網路。 您可以在多個 DN 部署中使用 N2、N3 和最多 10 N6-DNX 的名稱(其中 X 是數據網路 (DN) 數位 1-10;或只針對單一 DN 部署使用 N6。 您可以選擇性地使用虛擬局域網路標識碼來設定每個虛擬網路,以啟用第 2 層流量隔離。 下列範例適用於不含 VLAN 的 5G 多 DN 部署。
- 如果您使用 VLAN 主幹處理(HA 部署的必要專案),請執行下列程式三次:
- 選取 [新增虛擬網路 ],然後在側邊面板中填入:
- 虛擬交換器:針對 N2 和 N3 選取 vswitch-port3 。 針對 N6 選取 vswitch-port4 。
- 名稱: N2、 N3 或 N6。
- VLAN 類型:主幹 VLAN
- 允許的 VLAN 識別元範圍:填入您想要設定的 VLAN 識別碼集合。
- 選取 [修改] 以儲存此虛擬網络的組態。
- 選取 頁面底部的 [套 用],並等候通知(鈴鐺圖示)確認已套用設定。 套用設定大約需要8分鐘。
- 選取 [新增虛擬網路 ],然後在側邊面板中填入:
- 如果您使用存取 VLAN 或非 VLAN 模式,請執行下列程式三次,並針對每個補充數據網路執行一次 (如果您擁有最多 10 個數據網路,總共 12 次):
重要
如果您針對數據網路使用埠 3,建議您將其用於預期的最低負載。
- 選取 [新增虛擬網路 ],然後在側邊面板中填入:
- 虛擬交換器:針對 N2、N3 和最多四個 DN 選取 vswitch-port3 ,然後選取 [vswitch-port4 ] 以取得最多六個 DN。
- 名稱: N2、 N3 或 N6-DNX (其中 X 是 DN 數位 1-10)。
- VLAN:VLAN 標識符,如果未使用 VLAN,則為 0
- 網路 和 閘道:針對 ASE 埠上設定的 IP 位址使用正確的子網和閘道(即使閘道未在 ASE 埠本身上設定也一樣)。
- 例如, 10.232.44.0/24 和 10.232.44.1
- 如果子網沒有預設閘道,請在子網中使用另一個IP位址,以回應位址解析通訊協定 (ARP) 要求(例如其中一個 RAN IP 位址)。 如果透過交換器連線超過一個 gNB,請選擇閘道的其中一個IP位址。
- DNS 伺服器 和 DNS 後綴 應保留空白。
- 選取 [修改] 以儲存此虛擬網络的組態。
- 選取 頁面底部的 [套 用],並等候通知(鈴鐺圖示)確認已套用設定。 套用設定大約需要8分鐘。 頁面現在看起來應該像下圖:
- 選取 [新增虛擬網路 ],然後在側邊面板中填入:
- 如果您使用 VLAN 主幹處理(HA 部署的必要專案),請執行下列程式三次:
- 選取 [新增虛擬網路 ],然後在側邊面板中填入:
- 虛擬交換器:針對 N2 和 N3 選取 vswitch-port5 。 針對 N6 選取 vswitch-port6 。
- 名稱: N2、 N3 或 N6。
- VLAN 類型:主幹 VLAN
- 允許的 VLAN 識別元範圍:填入您想要設定的 VLAN 識別碼集合。
- 選取 [修改] 以儲存此虛擬網络的組態。
- 選取 頁面底部的 [套 用],並等候通知(鈴鐺圖示)確認已套用設定。 套用設定大約需要8分鐘。
- 選取 [新增虛擬網路 ],然後在側邊面板中填入:
- 如果您使用存取 VLAN 或非 VLAN 模式,請執行下列程式三次,並針對每個補充數據網路執行一次 (如果您擁有最多十個數據網路,總共 12 次):
重要
如果您針對數據網路使用埠 5,建議您將其用於預期的最低負載。
- 選取 [新增虛擬網路 ],然後在側邊面板中填入:
- 虛擬交換器:針對 N2、N3 和最多 4 個 DN 選取 vswitch-port5 ,然後選取 [vswitch-port6] 最多 6 個 DN。
- 名稱: N2、 N3 或 N6-DNX (其中 X 是 DN 數位 1-10)。
- VLAN 類型:視需要選取。
- VLAN:VLAN 標識符,如果未使用 VLAN,則為 0
- 網路 和 閘道:針對 ASE 埠上設定的 IP 位址使用正確的子網和閘道(即使閘道未在 ASE 埠本身上設定也一樣)。
- 例如, 10.232.44.0/24 和 10.232.44.1
- 如果子網沒有預設閘道,請在子網中使用另一個IP位址,以回應位址解析通訊協定 (ARP) 要求(例如其中一個 RAN IP 位址)。 如果透過交換器連線超過一個 gNB,請選擇閘道的其中一個IP位址。
- DNS 伺服器 和 DNS 後綴 應保留空白。
- 選取 [修改] 以儲存此虛擬網络的組態。
- 選取 頁面底部的 [套 用],並等候通知(鈴鐺圖示)確認已套用設定。 套用設定大約需要8分鐘。
- 選取 [新增虛擬網路 ],然後在側邊面板中填入:
頁面現在看起來應該像下圖:
新增計算和IP位址
在本機 Azure Stack Edge UI 中,移至 Kubernetes (預覽) 頁面。 您將設定所有設定,然後套用一次,就像設定進階網路一樣。
- 在 [計算虛擬交換器] 底下,選取 [修改]。
- 選取具有計算意圖的 vswitch (例如 vswitch-port2)
- 在管理網路上的節點IP位址範圍內輸入六個IP位址。
- 在服務IP位址的範圍中輸入一個IP位址,也會在管理網路上輸入一個IP位址。 這可用來存取封包核心實例的本機監視工具。
- 選取 面板底部的 [修改 ] 以儲存組態。
重要
如果您使用 VLAN 主幹處理(HA 部署的必要專案),此時不會對虛擬網路執行任何 IP 設定。 設定行動網路時,會完成IP設定。
- 在 [虛擬網络] 底下,選取虛擬網络。 在 VLAN 主幹模式中,這會是 N2、 N3 和 N6。 否則,請選擇 N2、 N3、 N6-DNX (其中 X 是 DN 數位 1-10)。 在側邊面板中:
- 啟用 Kubernetes 的虛擬網路,並新增 IP 位址池。 如果 VLAN 主幹模式中的 NOT ,也新增 IP 位址集區:
- 針對標準部署,針對適當的位址新增一個IP位址的範圍(如先前收集的NX)。 例如, 10.10.10.20-10.10.10.20。
- 針對HA部署,為每個虛擬網路新增兩個IP位址的範圍,其中 N2 和 N3 PodIP 位址位於本機存取子網中,而 N6 Pod IP 位址位於適當的本機數據子網中。
- 針對每個 N2、N3 和 N6-DNX 虛擬網路重複。
- 選取 面板底部的 [修改 ] 以儲存組態。
- 選取 頁面底部的 [套 用],並等候套用設定。 套用設定大約需要 5 分鐘。
頁面現在看起來應該像下圖(在 VLAN 主幹模式中):
在 ASE 上啟用虛擬機器管理
- 存取 Azure 入口網站,並移至在 Azure 入口網站 中建立的 Azure Stack Edge 資源。
- 選取 [Edge 服務]。
- 選取 [虛擬機器]。
- 選取啟用。
啟動叢集並設定Arc
如果您在 Azure Stack Edge 上執行其他虛擬機(VM),建議您立即停止它們,並在部署叢集之後再次啟動它們。 叢集需要存取執行 VM 的特定 CPU 資源可能已經使用。
存取 Azure 入口網站,並移至在 Azure 入口網站 中建立的 Azure Stack Edge 資源。
若要部署叢集,請選取 [Kubernetes] 選項,然後選取 [ 新增 ] 按鈕來設定叢集。
針對 [ 節點大小],選取 [Standard_F16s_HPN]。
確定已選取已啟用 Arc 的 Kubernetes 複選框。
選取 [變更] 鏈接,然後針對您從 [擷取物件標識符] (OID) 取得的自定義位置輸入 Microsoft Entra 應用程式物件識別碼 (OID)。
已啟用 Arc 的 Kubernetes 服務會自動在與 Azure Stack Edge 資源相同的資源群組中建立。 如果您的 Azure Stack Edge 資源群組不在支援 Azure Private 5G Core 的區域,您必須變更區域。
按兩下 [ 設定 ] 以套用設定。
檢查 [區域] 和 [Microsoft Entra] 應用程式物件標識碼 (OID) 字段顯示適當的值,然後按兩下 [建立]。
請完成提示以設定服務。
建立 Kubernetes 叢集大約需要 20 分鐘。 在建立期間,Azure Stack Edge 資源上可能會顯示重大警示。 此警示預期為預期,且應該會在幾分鐘后消失。
部署之後,入口網站應該會顯示 Kubernetes 服務正在概觀頁面上執行 。
設定 kubectl 存取
您需要 kubectl 存取權,才能確認叢集已成功部署。 如需叢集的唯讀 kubectl 存取權,您可以從 ASE 本機 UI 下載 kubeconfig 檔案。 在 [裝置] 底下,選取 [下載組態]。
下載的檔案稱為 config.json。 此檔案具有描述 Pod 和檢視記錄的許可權,但無法存取 具有 kubectl exec 的 Pod。
設定入口網站存取
在 Azure 入口網站 中開啟您的 Azure Stack Edge 資源。 移至 [Azure Kubernetes Service] 窗格(如 啟動叢集並設定 Arc 所示),然後選取 [管理 ] 鏈接以開啟 Arc 窗格。
使用 Kubernetes 資源 (預覽) 選單中的選項探索叢集:
您一開始會看到登入要求方塊。 用來登入的令牌是從設定 kubectl 存取中從本機 UI 擷取的 kubeconfig 檔案取得。 有一個字串前面加上 token:接近 kubeconfig 檔案的結尾。 將此字串複製到入口網站中的方塊中(確保您未複製換行符),然後選取 [ 登入]。
您現在可以檢視叢集上執行內容的相關信息 ,以下是 [ 工作負載] 窗格中的 範例:
驗證叢集設定
您應該使用從設定 kubectl 存取中從 UI 下載的 kubeconfig 執行下列 kubectl 命令,以確認 AKS 叢集已正確設定:
kubectl get nodes
此命令應該會傳回兩個節點,一個名為 nodepool-aaa-bbb ,另一個名為 target-cluster-control-plane-ccc。
若要檢視所有執行中的 Pod,請執行:
kubectl get pods -A
此外,您的 AKS 叢集現在應該可從入口網站中的 Azure Stack Edge 資源看到。
收集 Kubernetes 擴充功能變數
收集下表中的每個值。
值 | 變數名稱 |
---|---|
部署 Azure 資源的 Azure 訂用帳戶標識碼。 | SUBSCRIPTION_ID |
部署 AKS 叢集的資源群組名稱。 您可以在 Azure 入口網站 的 [Azure Kubernetes Service] 窗格中使用 [管理] 按鈕來找到此專案。 | RESOURCE_GROUP_NAME |
AKS 叢集資源的名稱。 您可以在 Azure 入口網站 的 [Azure Kubernetes Service] 窗格中使用 [管理] 按鈕來找到此專案。 | RESOURCE_NAME |
部署 Azure 資源的區域。 這必須符合將部署行動網路的區域,這必須是AP5GC支援的其中一個區域。 此值必須是 區域的程式代碼名稱。 |
位置 |
要為 AKS 叢集建立的 自訂位置 資源名稱。 這個值必須以英數位元開頭和結尾,而且必須只包含英數位元或 - . 。 |
CUSTOM_LOCATION |
安裝 Kubernetes 擴充功能
Azure Private 5G Core 私人行動網路需要自定義位置和特定 Kubernetes 擴充功能,您必須在 Azure Cloud Shell 中使用 Azure CLI 進行設定。
使用 Azure Cloud Shell 登入 Azure CLI,然後從下拉功能表中選取 Bash 。
使用部署所需的值來設定下列環境變數:
SUBSCRIPTION_ID=<subscription ID> RESOURCE_GROUP_NAME=<resource group name> LOCATION=<deployment region, for example eastus> CUSTOM_LOCATION=<custom location for the AKS cluster> ARC_CLUSTER_RESOURCE_NAME=<resource name> TEMP_FILE=./tmpfile
準備殼層環境:
az account set --subscription "$SUBSCRIPTION_ID" az extension add --upgrade --name k8s-extension az extension add --upgrade --name customlocation
建立網路函式操作員 Kubernetes 擴充功能:
cat > $TEMP_FILE <<EOF { "helm.versions": "v3", "Microsoft.CustomLocation.ServiceAccount": "azurehybridnetwork-networkfunction-operator", "meta.helm.sh/release-name": "networkfunction-operator", "meta.helm.sh/release-namespace": "azurehybridnetwork", "app.kubernetes.io/managed-by": "helm", "helm.release-name": "networkfunction-operator", "helm.release-namespace": "azurehybridnetwork", "managed-by": "helm" } EOF
az k8s-extension create \ --name networkfunction-operator \ --cluster-name "$ARC_CLUSTER_RESOURCE_NAME" \ --resource-group "$RESOURCE_GROUP_NAME" \ --cluster-type connectedClusters \ --extension-type "Microsoft.Azure.HybridNetwork" \ --auto-upgrade-minor-version "true" \ --scope cluster \ --release-namespace azurehybridnetwork \ --release-train preview \ --config-settings-file $TEMP_FILE
建立 Packet Core 監視器 Kubernetes 擴充功能:
az k8s-extension create \ --name packet-core-monitor \ --cluster-name "$ARC_CLUSTER_RESOURCE_NAME" \ --resource-group "$RESOURCE_GROUP_NAME" \ --cluster-type connectedClusters \ --extension-type "Microsoft.Azure.MobileNetwork.PacketCoreMonitor" \ --release-train stable \ --auto-upgrade true
建立自訂位置:
az customlocation create \ -n "$CUSTOM_LOCATION" \ -g "$RESOURCE_GROUP_NAME" \ --location "$LOCATION" \ --namespace azurehybridnetwork \ --host-resource-id "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Kubernetes/connectedClusters/$ARC_CLUSTER_RESOURCE_NAME" \ --cluster-extension-ids "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Kubernetes/connectedClusters/$ARC_CLUSTER_RESOURCE_NAME/providers/Microsoft.KubernetesConfiguration/extensions/networkfunction-operator"
您應該會看到新的自訂位置顯示為指定資源群組內 Azure 入口網站 的資源。 kubectl get pods -A
使用 命令 (具有 kubeconfig 檔案的存取權)也應該顯示對應至已安裝延伸模組的新 Pod。 azurehybridnetwork 命名空間中應該有一個 Pod,而 packet-core-monitor 命名空間中應該有一個 Pod。
復原
如果您在 Azure Stack Edge 設定中發生錯誤,您可以使用入口網站來移除 AKS 叢集(請參閱 在 Azure Stack Edge 上部署 Azure Kubernetes 服務)。 然後,您可以透過本機 UI 修改設定。
或者,您可以使用本機 UI 中的 [裝置重設] 刀鋒窗口執行完整重設(請參閱 Azure Stack Edge 裝置重設和重新啟用),然後重新啟動此程式。 在此情況下,您也應該在完成 Azure Stack Edge 重設之後,刪除 Azure 入口網站 中留下的任何相關聯資源。 這會包含下列部分或所有項目,視您完成的程式而定:
- Azure Stack Edge 資源
- 與 Azure Stack Edge 資源相關聯的自動產生的 KeyVault
- 與 Azure Stack Edge 資源相關聯的自動產生 儲存體 Account
- Azure Kubernetes 叢集 (如果已成功建立)
- 自訂位置 (如果已成功建立)
在部署后變更 ASE 組態
部署封包核心之後,您可能需要更新 ASE 組態,例如新增或移除連結的數據網路或變更 IP 位址。 若要變更 ASE 設定,請終結 自定義位置和 Azure Kubernetes Service 資源、進行 ASE 設定變更,然後重新建立這些資源。 這可讓您暫時中斷封包核心的連線,而不是終結並重新建立,將所需的重新設定降至最低。 您可能也需要對封包核心組態進行對等的變更。
警告
此程式期間,您的封包核心將無法使用。 如果您要變更狀況良好的封包核心實例,建議您在維護期間執行此程式,以將服務的影響降到最低。
- 流覽至 Azure 入口網站 中的資源群組概觀(針對包含封包核心的資源群組)。 選取 [ 封包核心控制平面 ] 資源,然後選取 [ 修改封包核心]。 將 [Azure Arc 自定義位置] 設定為 [無],然後選取 [修改]。
- 流覽至包含 自定義位置 資源的資源群組。 選取 [自定義位置資源] 的刻度方塊,然後選取 [刪除]。 確認刪除。
- 流覽至 Azure Stack Edge 資源,並移除 Azure Kubernetes Service 的所有設定。
- 存取 ASE 本機 UI,並視需要更新設定。
- 重新建立 Kubernetes 叢集。 請參閱 啟動叢集並設定Arc。
- 重新建立自定義位置資源。 選取 [ 封包核心控制平面 ] 資源,然後選取 [ 設定自定義位置]。
您的封包核心現在應該在服務中,並具有更新的ASE組態。 若要更新封包核心組態,請參閱 修改封包核心實例。
下一步
您的 Azure Stack Edge 裝置現已可供 Azure 私人 5G 核心版使用。 針對HA部署,您也必須設定路由器。 否則,下一個步驟是收集部署專用網所需的資訊。