Краткое руководство. Создание виртуальной машины Оператора Azure Nexus с помощью Azure CLI

  • Развертывание виртуальной машины Azure Nexus с помощью Azure CLI

Это краткое руководство по началу работы с виртуальными машинами Nexus для размещения функций виртуальной сети (VNFs). Выполнив действия, описанные в этом руководстве, вы можете быстро и легко создать настраиваемую виртуальную машину Nexus, которая соответствует вашим конкретным потребностям и требованиям. Независимо от того, являетесь ли вы новичком или экспертом в сети Nexus, это руководство поможет вам. Вы узнаете, что вам нужно знать, чтобы создавать и настраивать виртуальные машины Nexus для размещения функций виртуальной сети.

Подготовка к работе

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  • Установите последнюю версию необходимых расширений Azure CLI.

  • Для этой статьи требуется версия 2.49.0 или более поздняя версия Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

  • Если у вас несколько подписок Azure, выберите соответствующий идентификатор подписки, в котором должны выставляться счета за ресурсы с помощью az account команды.

  • Прежде чем продолжить создание виртуальной машины, убедитесь, что используемый образ контейнера создается в соответствии с инструкциями.

  • Создайте группу ресурсов с помощью az group create команды. Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure. При создании группы ресурсов вам будет предложено указать расположение. Это расположение хранилища метаданных группы ресурсов и место, где ресурсы выполняются в Azure, если вы не указываете другой регион во время создания ресурса. В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.

    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/deployments. Например, для развертывания кластера требуются разрешения Microsoft.NetworkCloud/virtualMachines/write и Microsoft.Resources/deployments/*. Список ролей и разрешений см. в статье Встроенные роли Azure.

  • Вам нужен custom location идентификатор ресурса кластера Nexus оператора Azure.

  • Необходимо создать различные сети в соответствии с вашими требованиями к рабочей нагрузке и иметь соответствующие IP-адреса, доступные для рабочих нагрузок. Чтобы обеспечить плавную реализацию, рекомендуется обратиться к соответствующим группам поддержки за помощью.

  • Выполните необходимые условия для развертывания виртуальной машины Nexus.

Создание виртуальной машины Nexus

В следующем примере создается виртуальная машина с именем myNexusVirtualMachine в группе ресурсов myResourceGroup в расположении eastus .

Перед выполнением команд необходимо задать несколько переменных, чтобы определить конфигурацию виртуальной машины. Ниже приведены переменные, которые необходимо задать, а также некоторые значения по умолчанию, которые можно использовать для определенных переменных:

«Переменная» Description
LOCATION Регион Azure, в котором требуется создать виртуальную машину.
RESOURCE_GROUP Имя группы ресурсов Azure, в которой требуется создать виртуальную машину.
ПОДПИСКА Идентификатор подписки Azure.
CUSTOM_LOCATION Этот аргумент указывает пользовательское расположение экземпляра Nexus.
CSN_ARM_ID Идентификатор ARM сети облачных служб, к которому будет подключена виртуальная машина.
L3_NETWORK_ID Идентификатор ARM сети L3, к которому будет подключена виртуальная машина.
NETWORK_INTERFACE_NAME Имя сетевого интерфейса L3, назначаемого.
ADMIN_USERNAME Имя пользователя администратора виртуальной машины.
SSH_PUBLIC_KEY Открытый ключ SSH, используемый для безопасного взаимодействия с виртуальной машиной.
CPU_CORES Количество ядер ЦП для виртуальной машины (четное число, максимум 46 виртуальных ЦП)
MEMORY_SIZE Объем памяти (в ГиБ, максимум 224 ГиБ) для виртуальной машины.
VM_DISK_SIZE Размер диска виртуальной машины (в ГиБ).
VM_IMAGE URL-адрес образа виртуальной машины.
ACR_URL URL-адрес Реестр контейнеров Azure.
ACR_USERNAME Имя пользователя для Реестр контейнеров Azure.
ACR_PASSWORD Пароль для Реестр контейнеров 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"

Через несколько минут команда завершает работу и возвращает сведения о виртуальной машине. Вы создали виртуальную машину. Теперь вы готовы использовать их.

Просмотр развернутых ресурсов

После завершения развертывания можно просмотреть ресурсы с помощью интерфейса командной строки или портал Azure.

Чтобы просмотреть сведения о myNexusVirtualMachine кластере myResourceGroup в группе ресурсов, выполните следующие действия.

az networkcloud virtualmachine show --name myNexusVirtualMachine --resource-group myResourceGroup

Очистка ресурсов

Удалите группу ресурсов, если она больше не нужна. Группа ресурсов и все ресурсы в группе ресурсов удаляются.

Используйте команду az group delete, чтобы удалить группу ресурсов, виртуальную машину и все связанные ресурсы, кроме сетевых ресурсов Оператора Nexus.

az group delete --name myResourceGroup --yes --no-wait

Следующие шаги

Вы успешно создали виртуальную машину Nexus. Теперь можно использовать виртуальную машину для размещения функций виртуальной сети (VNFs).