快速入門:使用 Azure CLI 建立 Azure 運算子連接點虛擬機器
- 使用 Azure CLI 部署 Azure 連接點虛擬機器
本快速入門指南旨在協助您開始使用連接點虛擬機器,以裝載虛擬網路功能 (VNF)。 透過遵循本指南中概述的步驟,您可以快速輕鬆地建立符合您特定需求和要求的自訂連接點虛擬機器。 無論您是連接點網路的初學者還是專家,本指南都能在此為您提供協助。 您會了解建立和自訂連接點虛擬機器以裝載虛擬網路功能所需的一切資訊。
開始之前
如果您沒有 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.61.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 內建角色。
您需要 Azure 運算子連接點叢集的
custom location
資源識別碼。您必須根據特定的工作負載需求建立各種網路,而且必須為工作負載提供適當的 IP 位址。 為確保順利實作,建議您諮詢相關的支援小組以取得協助。
- 完成部署連接點虛擬機器的先決條件。
建立連接點虛擬機器
以下範例為在 eastus 位置的資源群組 myResourceGroup 中建立一台名為 myNexusVirtualMachine 的虛擬機器。
執行命令之前,您需要設定幾個變數來定義虛擬機器的組態。 以下是您需要設定的變數,以及可用於特定變數的一些預設值:
變數 | 描述 |
---|---|
LOCATION | 您想要在其中建立虛擬機器的 Azure 區域。 |
RESOURCE_GROUP | 您想要在其中建立虛擬機器的 Azure 資源群組名稱。 |
訂用帳戶 | Azure 訂用帳戶的識別碼。 |
CUSTOM_LOCATION | 此引數會指定連接點執行個體的自訂位置。 |
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 | 虛擬機的記憶體數量(以 GiB 為單位,最多 224 GiB)。 |
VM_DISK_SIZE | 虛擬機磁碟的大小(以 GiB 為單位)。 |
VM_IMAGE | 虛擬機器映像的 URL。 |
ACR_URL | Azure Container Registry 的 URL。 |
ACR_USERNAME | Azure Container Registry 的使用者名稱。 |
ACR_PASSWORD | Azure Container Registry 的密碼。 |
警告
使用者資料將不會加密,因此 VM 上的任何進程都可以查詢此資料。 您不應該將機密資訊儲存在使用者資料中。 如需詳細資訊,請參閱 Azure 資料安全性和加密最佳做法。
定義這些變數之後,您可以執行 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 命令移除資源群組、虛擬機器,以及運算子連接點網路資源以外的所有相關資源。
az group delete --name myResourceGroup --yes --no-wait
下一步
您已成功建立連接點虛擬機器。 您現在可以使用虛擬機器裝載虛擬網路功能 (VNF)。