快速入門:使用 Azure CLI 建立 Azure 操作員 Nexus 虛擬機器
- 使用 Azure CLI 部署 Azure Nexus 虛擬機器
本快速入門手冊旨在協助您開始使用 Nexus 虛擬機器來裝載虛擬網路功能(VNF)。 依照本指南中所述的步驟,您可以快速且輕鬆地建立符合您特定需求和需求的自訂 Nexus 虛擬機器。 無論您是初學者還是 Nexus 網路專家,本指南都在這裡提供協助。 您將瞭解建立和自訂裝載虛擬網路功能之 Nexus 虛擬機器所需的一切。
開始之前
如果您沒有 Azure 訂用帳戶,請在開始之前先建立 Azure 免費帳戶。
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
安裝最新版 的必要 Azure CLI 擴充功能 。
本文需要 Azure CLI 2.49.0 版或更新版本。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。
如果您有多個 Azure 訂用帳戶,請選取適當的訂用帳戶識別碼,其中應該使用
az account
命令來計費資源。在繼續建立虛擬機器之前,請確定會根據 指示 建立要使用的容器映射。
使用
az group create
命令建立資源群組。 Azure 資源群組 是部署和管理 Azure 資源的邏輯群組。 當您建立資源群組時,系統會提示您指定位置。 此位置是您資源群組中繼資料的儲存位置,如果您未在資源建立期間指定另一個區域,您的資源會在 Azure 中執行的位置。 下列範例會在 eastus 位置建立名為 myResourceGroup 的資源群組。az group create --name myResourceGroup --location eastus
下列輸出範例類似于成功建立資源群組:
{ "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup", "location": "eastus", "managedBy": null, "name": "myResourceGroup", "properties": { "provisioningState": "Succeeded" }, "tags": null }
若要部署 Bicep 檔案或 ARM 範本,您需要對即將進行部署的資源具備寫入存取權,並可存取 Microsoft.Resources/部署資源類型上的所有作業。 例如,若要部署叢集,您需要 Microsoft.NetworkCloud/virtualMachines/write 和 Microsoft.Resources/deployments/* 許可權。 如需角色與權限的清單,請參閱 Azure 內建角色。
您需要
custom location
Azure 操作員 Nexus 叢集的資源識別碼。您必須根據特定的工作負載需求建立 各種網路 ,而且必須有適當的 IP 位址可供您的工作負載使用。 為了確保順利執行,建議您諮詢相關的支援小組以取得協助。
建立 Nexus 虛擬機器
下列範例會在 eastus 位置的資源群組 myResourceGroup 中建立名為 myNexusVirtualMachine 的 虛擬機器。
執行命令之前,您必須設定數個變數來定義虛擬機器的組態。 以下是您需要設定的變數,以及可用於特定變數的一些預設值:
變數 | 描述 |
---|---|
LOCATION | 您想要在其中建立虛擬機器的 Azure 區域。 |
RESOURCE_GROUP | 您想要在其中建立虛擬機器的 Azure 資源群組名稱。 |
訂用帳戶 | Azure 訂用帳戶的識別碼。 |
CUSTOM_LOCATION | 這個引數會指定 Nexus 實例的自訂位置。 |
CSN_ARM_ID | 虛擬機器將連接的雲端服務網路的 ARM 識別碼。 |
L3_NETWORK_ID | 虛擬機器將連接的 L3 網路的 ARM 識別碼。 |
NETWORK_INTERFACE_NAME | 要指派的 L3 網路介面名稱。 |
ADMIN_USERNAME | 虛擬機器系統管理員的使用者名稱。 |
SSH_PUBLIC_KEY | 用於與虛擬機器安全通訊的 SSH 公開金鑰。 |
CPU_CORES | 虛擬機器的 CPU 核心數目(偶數,最大 46 個 vCPU) |
MEMORY_SIZE | 虛擬機器的記憶體數量(以 GB 為單位,上限為 224 GB)。 |
VM_DISK_SIZE | 虛擬機器磁片的大小(以 GB 為單位)。 |
VM_IMAGE | 虛擬機器映射的 URL。 |
ACR_URL | Azure Container Registry 的 URL。 |
ACR_USERNAME | Azure Container Registry 的使用者名稱。 |
ACR_PASSWORD | Azure Container Registry 的密碼。 |
定義這些變數之後,您可以執行 Azure CLI 命令來建立虛擬機器。 在結尾新增 --debug
旗標,以提供更詳細的輸出以供疑難排解之用。
若要定義這些變數,請使用下列集合命令,並將範例值取代為您慣用的值。 您也可以使用部分變數的預設值,如下列範例所示:
# Azure parameters
RESOURCE_GROUP="myResourceGroup"
SUBSCRIPTION="<Azure subscription ID>"
CUSTOM_LOCATION="/subscriptions/<subscription_id>/resourceGroups/<managed_resource_group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
LOCATION="$(az group show --name $RESOURCE_GROUP --query location --subscription $SUBSCRIPTION -o tsv)"
# VM parameters
VM_NAME="myNexusVirtualMachine"
# VM credentials
ADMIN_USERNAME="azureuser"
SSH_PUBLIC_KEY="$(cat ~/.ssh/id_rsa.pub)"
# Network parameters
CSN_ARM_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
L3_NETWORK_ID="/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.NetworkCloud/l3Networks/<l3Network-name>"
NETWORK_INTERFACE_NAME="mgmt0"
# VM Size parameters
CPU_CORES=4
MEMORY_SIZE=12
VM_DISK_SIZE="64"
# Virtual Machine Image parameters
VM_IMAGE="<VM image, example: myacr.azurecr.io/ubuntu:20.04>"
ACR_URL="<Azure container registry URL, example: myacr.azurecr.io>"
ACR_USERNAME="<Azure container registry username>"
ACR_PASSWORD="<Azure container registry password>"
重要
您必須在執行這些命令之前,先以實際值取代 CUSTOM_LOCATION、CSN_ARM_ID、L3_NETWORK_ID 和 ACR 參數的預留位置。
定義這些變數之後,您可以執行下列 Azure CLI 命令來建立虛擬機器。
az networkcloud virtualmachine create \
--name "$VM_NAME" \
--resource-group "$RESOURCE_GROUP" \
--subscription "$SUBSCRIPTION" \
--extended-location name="$CUSTOM_LOCATION" type="CustomLocation" \
--location "$LOCATION" \
--admin-username "$ADMIN_USERNAME" \
--csn "attached-network-id=$CSN_ARM_ID" \
--cpu-cores $CPU_CORES \
--memory-size $MEMORY_SIZE \
--network-attachments '[{"attachedNetworkId":"'$L3_NETWORK_ID'","ipAllocationMethod":"Dynamic","defaultGateway":"True","networkAttachmentName":"'$NETWORK_INTERFACE_NAME'"}]'\
--storage-profile create-option="Ephemeral" delete-option="Delete" disk-size="$VM_DISK_SIZE" \
--vm-image "$VM_IMAGE" \
--ssh-key-values "$SSH_PUBLIC_KEY" \
--vm-image-repository-credentials registry-url="$ACR_URL" username="$ACR_USERNAME" password="$ACR_PASSWORD"
幾分鐘後,命令會完成並傳回虛擬機器的相關資訊。 您已建立虛擬機器。 您現在已準備好使用它們。
檢閱已部署的資源
部署完成之後,您可以使用 CLI 或 Azure 入口網站來檢視資源。
若要檢視資源群組中 myResourceGroup
叢集的詳細 myNexusVirtualMachine
資料,請執行下列命令
az networkcloud virtualmachine show --name myNexusVirtualMachine --resource-group myResourceGroup
清除資源
不再需要時,請刪除資源群組。 資源群組和資源群組中的所有資源都會被刪除。
使用 az group delete 命令來移除資源群組、虛擬機器,以及操作員 Nexus 網路資源以外的所有相關資源。
az group delete --name myResourceGroup --yes --no-wait
下一步
您已成功建立 Nexus 虛擬機器。 您現在可以使用虛擬機器來裝載虛擬網路功能(VNFs)。