Share via


委託 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 私人 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 位址

    • 控制平面存取介面
    • 用戶平面存取介面
    • 使用者平面資料介面(s)

    您可以自行命名這些網路,但在部署 Azure Private 5G Core 時,名稱必須符合您在 Azure 入口網站 中設定的名稱。 例如,您可以使用 N2、N3 和最多十個 N6-DNX 的名稱(其中 X 是多個 DN 部署中的 DN 數位 1-10;或只針對單一 DN 部署使用 N6)。 您可以選擇性地使用虛擬局域網路標識碼來設定每個虛擬網路,以啟用第 2 層流量隔離。 下列範例適用於不含 VLAN 的 5G 多 DN 部署。

  1. 執行下列程式三次,並針對每個補充數據網路執行一次 (如果您擁有最多十個數據網路,總共 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. 執行下列程式三次,並針對每個補充數據網路執行一次 (如果您擁有最多十個數據網路,總共 12 次):

    重要

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

    1. 選取 [新增虛擬網路 ],然後在側邊面板中填入:
      • 虛擬交換器:針對 N2、N3 和最多四個 DN 選取 vswitch-port5 ,然後選取 [vswitch-port6 ] 以取得最多六個 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分鐘。 頁面現在看起來應該像下圖:

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

新增計算和IP位址

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

  1. 在 [計算虛擬交換器] 底下,選取 [修改]。
    1. 選取具有計算意圖的 vswitch (例如 vswitch-port2
    2. 在管理網路上的節點IP位址範圍內輸入六個IP位址。
    3. 在服務IP位址的範圍中輸入一個IP位址,也會在管理網路上輸入一個IP位址。 這會用於存取封包核心實例的本機監視工具。
    4. 選取 面板底部的 [修改 ] 以儲存組態。
  2. 在 [虛擬網络] 底下,從 N2、N3N6-DNX 選取虛擬網络(其中 X 是 DN 數位 1-10)。 在側邊面板中:
    1. 啟用 Kubernetes 的虛擬網路,並新增 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 分鐘。

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

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

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

在 ASE 上啟用 VM 管理

  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部署,您也必須設定路由器。 否則,下一個步驟是收集部署專用網所需的資訊。