委託 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) 工作負載進行優化。

  1. 在本機 UI 中,選取 左側功能表中的 [Kubernetes ]。
  2. [選擇最能描述您案例的選項] 下,選取 您環境中的 Azure 私人 MEC 解決方案。
  3. 在 [ 工作負載確認 ] 快顯上,選取 [ 我確認我在我的環境中執行 Azure 私人 MEC],然後按兩下 [ 套用 ] 以關閉快顯。
  4. 按兩下 [ 套用 ] 以儲存變更。

ASE Kubernetes 設定功能表的螢幕快照。已選取 [Azure 私人 MEC] 單選按鈕。工作負載確認快顯已覆寫。

您應該會在本機 UI 中看到更新的選項 – Kubernetes 會變成 Kubernetes(預覽), 如下圖所示。

設定功能表的螢幕快照,其中已醒目提示 Kubernetes (預覽)。

如果您移至 Azure 入口網站 並流覽至 Azure Stack Edge 資源,您應該會看到 Azure Kubernetes Service 選項。 您將在啟動叢集並設定Arc設定 Azure Kubernetes Service。

Azure 入口網站 中 Azure Stack Edge 資源的螢幕快照。Azure Kubernetes Service (預覽版) 會顯示在左側功能表中的 Edge 服務底下。

設定進階網路功能

您現在必須在這些交換器上設定虛擬交換器和虛擬網路。 您將使用 Azure Stack Edge 本機 UI 的進 階網路區 段來執行這項工作。

您可以輸入此頁面上的所有設定,然後選取 底部的 [套 用] 以一次全部套用。

  1. 設定三個虛擬交換器。 在下一個步驟之前,必須有一個與每個埠相關聯的虛擬交換器。 如果您已設定其他虛擬網路功能(VNFs),則虛擬交換器可能已經存在。 選取 [新增虛擬交換器],然後針對每個交換器 適當填入側邊面板,然後選取 [ 修改 ] 以儲存該組態。

    • 在應啟用計算的埠上建立虛擬交換器(管理埠)。 我們建議使用 vswitch-portX 格式,其中 X 是埠的數目。 例如,在埠 2 上建立 vswitch-port2
    • 在埠 3 上建立名為 vswitch-port3虛擬交換器。
    • 在埠 4 上建立名為 vswitch-port4虛擬交換器。

    您現在應該會看到類似下圖的內容: 顯示三個虛擬交換器的螢幕快照,其中名稱對應至交換器所在的網路介面。

  1. 設定三個虛擬交換器。 在下一個步驟之前,必須有一個與每個埠相關聯的虛擬交換器。 如果您已設定其他虛擬網路功能(VNFs),則虛擬交換器可能已經存在。 選取 [新增虛擬交換器],然後針對每個交換器 適當填入側邊面板,然後選取 [ 修改 ] 以儲存該組態。

    • 在應啟用計算的埠上建立虛擬交換器(管理埠)。 我們建議使用 vswitch-portX 格式,其中 X 是埠的數目。 例如,在埠 3 上建立 vswitch-port3
    • 使用名稱 vswitch-port5 在埠 5 上建立虛擬交換器。
    • 使用名稱 vswitch-port6 在埠 6 上建立虛擬交換器。

    您現在應該會看到類似下圖的內容: 顯示三個虛擬交換器的螢幕快照,其中名稱對應至交換器所在的網路介面。

  1. 建立代表下列介面的虛擬網路(您在 [配置子網] 和 [IP 位址] 中 配置子網和 IP 位址

    • 控制平面存取介面
    • 用戶平面存取介面
    • 用戶平面數據介面

    您可以自行命名這些網路,但在部署 Azure Private 5G Core 時,名稱必須符合您在 Azure 入口網站 中設定的名稱。 如果您使用 VLAN 主幹處理(HA 部署的必要專案),則您有 一個沒有 IP 資訊的單 一 N6 虛擬網路。 設定行動網路時,會完成 VLAN 和 IP 資訊。 透過此設定,您可以使用 N2N3N6 名稱

    在 [存取 VLAN 或非 VLAN 模式] 下,每個鏈接的數據網路都有 N6 個虛擬網路。 您可以在多個 DN 部署中使用 N2、N3 和最多 10 N6-DNX 的名稱(其中 X 是數據網路 (DN) 數位 1-10;或只針對單一 DN 部署使用 N6。 您可以選擇性地使用虛擬局域網路標識碼來設定每個虛擬網路,以啟用第 2 層流量隔離。 下列範例適用於不含 VLAN 的 5G 多 DN 部署。

  1. 如果您使用 VLAN 主幹處理(HA 部署的必要專案),請執行下列程式三次:
    1. 選取 [新增虛擬網路 ],然後在側邊面板中填入:
      • 虛擬交換器:針對 N2 和 N3 選取 vswitch-port3 。 針對 N6 選取 vswitch-port4
      • 名稱N2N3N6
      • VLAN 類型:主幹 VLAN
      • 允許的 VLAN 識別元範圍:填入您想要設定的 VLAN 識別碼集合。
    2. 選取 [修改] 以儲存此虛擬網络的組態。
    3. 選取 頁面底部的 [套 用],並等候通知(鈴鐺圖示)確認已套用設定。 套用設定大約需要8分鐘。
  2. 如果您使用存取 VLAN 或非 VLAN 模式,請執行下列程式三次,並針對每個補充數據網路執行一次 (如果您擁有最多 10 個數據網路,總共 12 次):

    重要

    如果您針對數據網路使用埠 3,建議您將其用於預期的最低負載。

    1. 選取 [新增虛擬網路 ],然後在側邊面板中填入:
      • 虛擬交換器:針對 N2、N3 和最多四個 DN 選取 vswitch-port3 ,然後選取 [vswitch-port4 ] 以取得最多六個 DN。
      • 名稱N2N3N6-DNX (其中 X 是 DN 數位 1-10)。
      • VLAN:VLAN 標識符,如果未使用 VLAN,則為 0
      • 網路閘道:針對 ASE 埠上設定的 IP 位址使用正確的子網和閘道(即使閘道未在 ASE 埠本身上設定也一樣)。
        • 例如, 10.232.44.0/2410.232.44.1
        • 如果子網沒有預設閘道,請在子網中使用另一個IP位址,以回應位址解析通訊協定 (ARP) 要求(例如其中一個 RAN IP 位址)。 如果透過交換器連線超過一個 gNB,請選擇閘道的其中一個IP位址。
      • DNS 伺服器DNS 後綴 應保留空白。
    2. 選取 [修改] 以儲存此虛擬網络的組態。
    3. 選取 頁面底部的 [套 用],並等候通知(鈴鐺圖示)確認已套用設定。 套用設定大約需要8分鐘。 頁面現在看起來應該像下圖:

顯示進階網路功能的螢幕快照,其中包含虛擬交換器資訊和虛擬網路信息的數據表。

  1. 如果您使用 VLAN 主幹處理(HA 部署的必要專案),請執行下列程式三次:
    1. 選取 [新增虛擬網路 ],然後在側邊面板中填入:
      • 虛擬交換器:針對 N2 和 N3 選取 vswitch-port5 。 針對 N6 選取 vswitch-port6
      • 名稱N2N3N6
      • VLAN 類型:主幹 VLAN
      • 允許的 VLAN 識別元範圍:填入您想要設定的 VLAN 識別碼集合。
    2. 選取 [修改] 以儲存此虛擬網络的組態。
    3. 選取 頁面底部的 [套 用],並等候通知(鈴鐺圖示)確認已套用設定。 套用設定大約需要8分鐘。
  2. 如果您使用存取 VLAN 或非 VLAN 模式,請執行下列程式三次,並針對每個補充數據網路執行一次 (如果您擁有最多十個數據網路,總共 12 次):

    重要

    如果您針對數據網路使用埠 5,建議您將其用於預期的最低負載。

    1. 選取 [新增虛擬網路 ],然後在側邊面板中填入:
      • 虛擬交換器:針對 N2、N3 和最多 4 個 DN 選取 vswitch-port5 ,然後選取 [vswitch-port6] 最多 6 個 DN。
      • 名稱N2N3N6-DNX (其中 X 是 DN 數位 1-10)。
      • VLAN 類型:視需要選取。
      • VLAN:VLAN 標識符,如果未使用 VLAN,則為 0
      • 網路閘道:針對 ASE 埠上設定的 IP 位址使用正確的子網和閘道(即使閘道未在 ASE 埠本身上設定也一樣)。
        • 例如, 10.232.44.0/2410.232.44.1
        • 如果子網沒有預設閘道,請在子網中使用另一個IP位址,以回應位址解析通訊協定 (ARP) 要求(例如其中一個 RAN IP 位址)。 如果透過交換器連線超過一個 gNB,請選擇閘道的其中一個IP位址。
      • DNS 伺服器DNS 後綴 應保留空白。
    2. 選取 [修改] 以儲存此虛擬網络的組態。
    3. 選取 頁面底部的 [套 用],並等候通知(鈴鐺圖示)確認已套用設定。 套用設定大約需要8分鐘。

頁面現在看起來應該像下圖:

顯示進階網路功能的螢幕快照,其中包含虛擬交換器資訊和虛擬網路信息的數據表。

新增計算和IP位址

在本機 Azure Stack Edge UI 中,移至 Kubernetes (預覽) 頁面。 您將設定所有設定,然後套用一次,就像設定進階網路樣。

  1. 在 [計算虛擬交換器] 底下,選取 [修改]。
    1. 選取具有計算意圖的 vswitch (例如 vswitch-port2
    2. 在管理網路上的節點IP位址範圍內輸入六個IP位址。
    3. 在服務IP位址的範圍中輸入一個IP位址,也會在管理網路上輸入一個IP位址。 這可用來存取封包核心實例的本機監視工具。
    4. 選取 面板底部的 [修改 ] 以儲存組態。

    重要

    如果您使用 VLAN 主幹處理(HA 部署的必要專案),此時不會對虛擬網路執行任何 IP 設定。 設定行動網路時,會完成IP設定。

  2. 在 [虛擬網络] 底下,選取虛擬網络。 在 VLAN 主幹模式中,這會是 N2N3N6。 否則,請選擇 N2N3N6-DNX (其中 X 是 DN 數位 1-10)。 在側邊面板中:
    1. 啟用 Kubernetes 的虛擬網路,並新增 IP 位址池。 如果 VLAN 主幹模式中的 NOT ,也新增 IP 位址集區:
    2. 針對標準部署,針對適當的位址新增一個IP位址的範圍(如先前收集的NX)。 例如, 10.10.10.20-10.10.10.20
    3. 針對HA部署,為每個虛擬網路新增兩個IP位址的範圍,其中 N2 和 N3 PodIP 位址位於本機存取子網中,而 N6 Pod IP 位址位於適當的本機數據子網中。
    4. 針對每個 N2、N3 和 N6-DNX 虛擬網路重複。
    5. 選取 面板底部的 [修改 ] 以儲存組態。
  3. 選取 頁面底部的 [套 用],並等候套用設定。 套用設定大約需要 5 分鐘。

頁面現在看起來應該像下圖(在 VLAN 主幹模式中):

顯示具有兩個數據表之 Kubernetes (預覽) 的螢幕快照。第一個數據表稱為計算虛擬交換器,第二個數據表稱為虛擬網路。綠色刻度會顯示已啟用 Kubernetes 的虛擬網路。

在 ASE 上啟用虛擬機器管理

  1. 存取 Azure 入口網站,並移至在 Azure 入口網站 中建立的 Azure Stack Edge 資源。
  2. 選取 [Edge 服務]。
  3. 選取 [虛擬機器]
  4. 選取啟用

啟動叢集並設定Arc

如果您在 Azure Stack Edge 上執行其他虛擬機(VM),建議您立即停止它們,並在部署叢集之後再次啟動它們。 叢集需要存取執行 VM 的特定 CPU 資源可能已經使用。

  1. 存取 Azure 入口網站,並移至在 Azure 入口網站 中建立的 Azure Stack Edge 資源。

  2. 若要部署叢集,請選取 [Kubernetes] 選項,然後選取 [ 新增 ] 按鈕來設定叢集。

    [Kubernetes 概觀] 窗格的螢幕快照,其中顯示 [新增] 按鈕以設定 Kubernetes 服務。

  3. 針對 [ 節點大小],選取 [Standard_F16s_HPN]。

  4. 確定已選取已啟用 Arc 的 Kubernetes 複選框。

  5. 選取 [變更] 鏈接,然後針對您從 [擷取物件標識符] (OID) 取得的自定義位置輸入 Microsoft Entra 應用程式物件識別碼 (OID)。

    [設定已啟用Arc的 Kubernetes] 窗格的螢幕快照,其中顯示輸入自定義位置 OID 的位置。

  6. 已啟用 Arc 的 Kubernetes 服務會自動在與 Azure Stack Edge 資源相同的資源群組中建立。 如果您的 Azure Stack Edge 資源群組不在支援 Azure Private 5G Core 的區域,您必須變更區域。

  7. 按兩下 [ 設定 ] 以套用設定。

  8. 檢查 [區域] 和 [Microsoft Entra] 應用程式物件標識碼 (OID) 字段顯示適當的值,然後按兩下 [建立]。

  9. 請完成提示以設定服務。

建立 Kubernetes 叢集大約需要 20 分鐘。 在建立期間,Azure Stack Edge 資源上可能會顯示重大警示。 此警示預期為預期,且應該會在幾分鐘后消失。

部署之後,入口網站應該會顯示 Kubernetes 服務正在概觀頁面上執行

設定 kubectl 存取

您需要 kubectl 存取權,才能確認叢集已成功部署。 如需叢集的唯讀 kubectl 存取權,您可以從 ASE 本機 UI 下載 kubeconfig 檔案。 在 [裝置] 底下,選取 [下載組態]。

Kubernetes 儀錶板的螢幕快照,其中顯示下載設定的連結。

下載的檔案稱為 config.json。 此檔案具有描述 Pod 和檢視記錄的許可權,但無法存取 具有 kubectl exec 的 Pod。

設定入口網站存取

在 Azure 入口網站 中開啟您的 Azure Stack Edge 資源。 移至 [Azure Kubernetes Service] 窗格(如 啟動叢集並設定 Arc 所示),然後選取 [管理 ] 鏈接以開啟 Arc 窗格。

Azure Kubernetes Service (預覽) [概觀] 窗格的螢幕快照,其中顯示已啟用 Arc 的 Kubernetes 管理連結。

使用 Kubernetes 資源 (預覽) 選單中的選項探索叢集:

Kubernetes 資源 (預覽) 功能表的螢幕快照,其中顯示命名空間、工作負載、服務和輸入、記憶體和組態選項。

您一開始會看到登入要求方塊。 用來登入的令牌是從設定 kubectl 存取中從本機 UI 擷取的 kubeconfig 檔案取得 有一個字串前面加上 token:接近 kubeconfig 檔案的結尾。 將此字串複製到入口網站中的方塊中(確保您未複製換行符),然後選取 [ 登入]。

Kubernetes 資源的登入畫面螢幕快照。有一個方塊可輸入您的服務帳戶持有人令牌和登入按鈕。

您現在可以檢視叢集上執行內容的相關信息 ,以下是 [ 工作負載] 窗格中的 範例:

Kubernetes 資源中 [工作負載] 窗格的螢幕快照(預覽)。[Pod] 索引標籤為作用中,並顯示執行內容的詳細數據。

驗證叢集設定

您應該使用從設定 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 進行設定。

  1. 使用 Azure Cloud Shell 登入 Azure CLI,然後從下拉功能表中選取 Bash

  2. 使用部署所需的值來設定下列環境變數:

    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
    
  3. 準備殼層環境:

    az account set --subscription "$SUBSCRIPTION_ID"
    az extension add --upgrade --name k8s-extension
    az extension add --upgrade --name customlocation
    
  4. 建立網路函式操作員 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 
    
  5. 建立 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 
    
  6. 建立自訂位置:

    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 設定變更,然後重新建立這些資源。 這可讓您暫時中斷封包核心的連線,而不是終結並重新建立,將所需的重新設定降至最低。 您可能也需要對封包核心組態進行對等的變更。

警告

此程式期間,您的封包核心將無法使用。 如果您要變更狀況良好的封包核心實例,建議您在維護期間執行此程式,以將服務的影響降到最低。

  1. 流覽至 Azure 入口網站 中的資源群組概觀(針對包含封包核心的資源群組)。 選取 [ 封包核心控制平面 ] 資源,然後選取 [ 修改封包核心]。 將 [Azure Arc 自定義位置] 設定為 [],然後選取 [修改]。
  2. 流覽至包含 自定義位置 資源的資源群組。 選取 [自定義位置資源] 的刻度方塊,然後選取 [刪除]。 確認刪除。
  3. 流覽至 Azure Stack Edge 資源,並移除 Azure Kubernetes Service 的所有設定。
  4. 存取 ASE 本機 UI,並視需要更新設定。
  5. 重新建立 Kubernetes 叢集。 請參閱 啟動叢集並設定Arc
  6. 重新建立自定義位置資源。 選取 [ 封包核心控制平面 ] 資源,然後選取 [ 設定自定義位置]。

您的封包核心現在應該在服務中,並具有更新的ASE組態。 若要更新封包核心組態,請參閱 修改封包核心實例

下一步

您的 Azure Stack Edge 裝置現已可供 Azure 私人 5G 核心版使用。 針對HA部署,您也必須設定路由器。 否則,下一個步驟是收集部署專用網所需的資訊。