Руководство по Создание виртуальных машин Linux и управление ими с помощью Azure CLI

Применимо к: ✔️ виртуальные машины Linux ✔️ гибкие масштабируемые наборы

Виртуальные машины Azure предоставляют полностью настраиваемую и гибкую вычислительную среду. В этом руководстве рассматриваются основные элементы развертывания виртуальной машины Azure, например выбор ее размера, образа и ее развертывание. Вы узнаете, как выполнять следующие задачи:

  • Создание виртуальной машины и подключение к ней
  • Выбор и использование образов виртуальных машин
  • Просмотр и использование определенных размеров виртуальных машин
  • Изменение размера виртуальной машины
  • Просмотр виртуальной машины и оценка ее состояния

При работе с этим руководством используется интерфейс командной строки (CLI) в Azure Cloud Shell, который всегда обновлен до последней версии. Чтобы открыть Cloud Shell, выберите Попробовать в верхнем углу любого блока кода.

Если вы решили установить и использовать интерфейс командной строки локально, то для работы с этим руководством вам понадобится Azure CLI 2.0.30 или более поздней версии. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

Создать группу ресурсов

Создайте группу ресурсов с помощью команды az group create.

Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими. Группу ресурсов следует создавать до виртуальной машины. В этом примере создается группа ресурсов с именем myResourceGroupVM в регионе eastus.

az group create --name myResourceGroupVM --location eastus

Группа ресурсов указывается при создании или изменении виртуальной машины, что показывается в этом руководстве.

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

Создайте виртуальную машину, выполнив команду az vm create.

При создании виртуальной машины доступно несколько вариантов, таких как образ операционной системы, определение размера диска и учетные данные администратора. В следующем примере создается виртуальная машина myVM под управлением Ubuntu Server. На виртуальной машине создается учетная запись пользователя с именем azureuser, а также ключи SSH, если их еще нет в расположении для ключей по умолчанию ( ~/.ssh):

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

Создание виртуальной машины может занять несколько минут. После создания виртуальной машины Azure CLI выводит информацию о ней. Запишите publicIpAddress. Этот адрес может использоваться для доступа к виртуальной машине.

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVM"
}

Подключение к виртуальной машине

Теперь вы можете подключиться к виртуальной машине с помощью SSH из Azure Cloud Shell или с локального компьютера. Замените IP-адрес в примере адресом publicIpAddress, записанным на предыдущем шаге.

ssh azureuser@52.174.34.95

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

exit

Описание образов виртуальных машин

Azure Marketplace содержит множество образов, которые можно использовать для создания виртуальных машин. На предыдущих шагах виртуальная машина создавалась с помощью образа Ubuntu. На этом шаге Azure CLI используется для поиска на сайте Marketplace образа CentOS, который затем используется для развертывания второй виртуальной машины.

Чтобы просмотреть список наиболее часто используемых образов, используйте команду az vm image list.

az vm image list --output table

Она отобразит наиболее популярные образы виртуальных машин в Azure.

Offer          Publisher               Sku                 Urn                                                             UrnAlias             Version
-------------  ----------------------  ------------------  --------------------------------------------------------------  -------------------  ---------
WindowsServer  MicrosoftWindowsServer  2016-Datacenter     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest     Win2016Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2012-R2-Datacenter  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest  Win2012R2Datacenter  latest
WindowsServer  MicrosoftWindowsServer  2008-R2-SP1         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest         Win2008R2SP1         latest
WindowsServer  MicrosoftWindowsServer  2012-Datacenter     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest     Win2012Datacenter    latest
UbuntuServer   Canonical               16.04-LTS           Canonical:UbuntuServer:16.04-LTS:latest                         UbuntuLTS            latest
CentOS         OpenLogic               7.3                 OpenLogic:CentOS:7.3:latest                                     CentOS               latest
openSUSE-Leap  SUSE                    42.2                SUSE:openSUSE-Leap:42.2:latest                                  openSUSE-Leap        latest
RHEL           RedHat                  7.3                 RedHat:RHEL:7.3:latest                                          RHEL                 latest
SLES           SUSE                    12-SP2              SUSE:SLES:12-SP2:latest                                         SLES                 latest
Debian         credativ                8                   credativ:Debian:8:latest                                        Debian               latest
CoreOS         CoreOS                  Stable              CoreOS:CoreOS:Stable:latest                                     CoreOS               latest

Получить полный список можно, добавив аргумент --all. Кроме того, список образов можно отфильтровать по издателю или предложению с помощью аргумента --publisher или –-offer соответственно. В этом примере список образов отфильтрован по предложению CentOS.

az vm image list --offer CentOS --all --output table

Частичные выходные данные приведены ниже.

Offer             Publisher         Sku   Urn                                     Version
----------------  ----------------  ----  --------------------------------------  -----------
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201501         6.5.201501
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201503         6.5.201503
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201506         6.5.201506
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20150904       6.5.20150904
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20160309       6.5.20160309
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20170207       6.5.20170207

Чтобы развернуть виртуальную машину с помощью определенного образа, запишите значение в столбце Urn, которое состоит из сведений об издателе, предложении, номера SKU и (необязательно) номера версии для идентификации образа. При указании образа его номер версии можно заменить ключевым словом latest. В этом случае будет выбрана последняя версия дистрибутива. В данном примере добавлен аргумент --image, чтобы указать последнюю версию образа CentOS 6.5.

az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:6.5:latest --generate-ssh-keys

Описание размеров виртуальных машин

Размер виртуальной машины определяет количество выделяемых ей вычислительных ресурсов, таких как ЦП, GPU и память. Размеры виртуальных машин должны соответствовать ожидаемой рабочей нагрузке. При увеличении рабочей нагрузки размер существующей виртуальной машины может быть изменен.

Размеры виртуальных машин

В приведенной ниже таблицы указаны категории размеров и примеры использования.

Тип Распространенные размеры Описание
Универсальные B, Dsv3, Dv3, DSv2, Dv2, Av2, DC Сбалансированное соотношение ресурсов ЦП и памяти. Идеально подходят для разработки и тестирования малых и средних приложений и решений для обработки данных.
Оптимизированные для вычислений Fsv2 Высокое соотношение ресурсов ЦП и памяти. Подходят для приложений со средним объемом трафика, сетевых устройств и пакетных процессов.
Оптимизированные для памяти Esv3, Ev3, M, DSv2, Dv2 Высокое соотношение ресурсов памяти и числа ядер. Отлично подходят для реляционных баз данных, кэша среднего и большого объема, а также выполняющейся в памяти аналитики.
Оптимизированные для хранилища Lsv2, Ls Высокая пропускная способность дисков и количество операций ввода-вывода. Идеальный вариант для работы с большими данными, а также с базами данных SQL и NoSQL.
GPU NV, NVv2, NC, NCv2, NCv3, ND Специализированные виртуальные машины, предназначенные для ресурсоемкой отрисовки изображений и редактирования видео.
Высокопроизводительные H Виртуальные машины с самыми мощными ЦП, для которых можно настроить сетевые интерфейсы с высокой пропускной способностью (RDMA).

Поиск всех доступных размеров виртуальных машин

Чтобы просмотреть список доступных размеров виртуальных машин в определенном регионе, используйте команду az vm list-sizes.

az vm list-sizes --location eastus --output table

Частичные выходные данные приведены ниже.

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
                 2          3584  Standard_DS1                          1           1047552                    7168
                 4          7168  Standard_DS2                          2           1047552                   14336
                 8         14336  Standard_DS3                          4           1047552                   28672
                16         28672  Standard_DS4                          8           1047552                   57344
                 4         14336  Standard_DS11                         2           1047552                   28672
                 8         28672  Standard_DS12                         4           1047552                   57344
                16         57344  Standard_DS13                         8           1047552                  114688
                32        114688  Standard_DS14                        16           1047552                  229376
                 1           768  Standard_A0                           1           1047552                   20480
                 2          1792  Standard_A1                           1           1047552                   71680
                 4          3584  Standard_A2                           2           1047552                  138240
                 8          7168  Standard_A3                           4           1047552                  291840
                 4         14336  Standard_A5                           2           1047552                  138240
                16         14336  Standard_A4                           8           1047552                  619520
                 8         28672  Standard_A6                           4           1047552                  291840
                16         57344  Standard_A7                           8           1047552                  619520

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

В предыдущем примере создания виртуальной машины размер не был указан, что привело к использованию размера по умолчанию. Размер виртуальной машины можно выбрать во время ее создания с помощью команды az vm create и аргумента --size.

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image UbuntuLTS \
    --size Standard_F4s \
    --generate-ssh-keys

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

После развертывания виртуальной машины ее размер можно изменить, чтобы увеличить или уменьшить выделенные ей ресурсы. Текущий размер виртуальной машины можно просмотреть с помощью команды az vm show:

az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize

Перед изменением размера виртуальной машины проверьте, доступен ли желаемый размер в текущем кластере Azure. Команда az vm list-vm-resize-options отображает список всех размеров.

az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name

Если желаемый размер доступен, то размер виртуальной машины можно изменить во включенном состоянии, однако виртуальную машину нужно будет перезагрузить. Используйте команду az vm resize для изменения размера.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_DS4_v2

Если желаемый размер в текущем кластере недоступен, то перед изменением размера виртуальную машину нужно освободить. Используйте команду az vm deallocate, чтобы остановить и освободить виртуальную машину. Обратите внимание на то, что после повторного включения виртуальной машины все данные на временном диске могут быть удалены. Кроме того, изменится общедоступный IP-адрес, если только не используется статический IP-адрес.

az vm deallocate --resource-group myResourceGroupVM --name myVM

После освобождения виртуальной машины ее размер можно изменить.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1

После изменения размера можно запустить будет виртуальную машину.

az vm start --resource-group myResourceGroupVM --name myVM

Состояния включенной виртуальной машины

Включенная виртуальная машина Azure может находиться в одном из многих состояний. Это состояние отражает текущее состояние виртуальной машины с точки зрения гипервизора.

Состояния включения

Состояние включения Описание
Запуск Указывает, что виртуальная машина запущена.
Запущен Указывает, что виртуальная машина работает.
Остановка Указывает, что виртуальная машина останавливается.
Остановлена Указывает, что виртуальная машина остановлена. За виртуальные машины в остановленном состоянии по-прежнему взимается плата за вычислительные операции.
Отмена выделения Указывает, что виртуальная машина освобождается.
Освобождено Указывает, что виртуальная машина удалена из гипервизора, но по-прежнему доступна в плоскости управления. За виртуальные машины в освобожденном состоянии не взимается плата за вычислительные операции.
- Указывает, что состояние включенной виртуальной машины неизвестно.

Поиск состояния электропитания

Чтобы получить сведения о состоянии конкретной виртуальной машины, используйте команду az vm get-instance-view. Необходимо указать допустимое имя виртуальной машины и группы ресурсов.

az vm get-instance-view \
    --name myVM \
    --resource-group myResourceGroupVM \
    --query instanceView.statuses[1] --output table

Выходные данные:

ode                DisplayStatus    Level
------------------  ---------------  -------
PowerState/running  VM running       Info

Чтобы узнать рабочее состояние всех виртуальных машин в подписке, используйте API "Виртуальные машины — показать все" с параметром statusOnly, которому задано значение true.

Задачи управления

В течение жизненного цикла виртуальной машины можно выполнять задачи управления, такие как запуск, остановка или удаление виртуальной машины. Кроме того, можно создавать скрипты для автоматизации повторяющихся или сложных задач. С помощью Azure CLI в командной строке или в скриптах можно выполнять множество распространенных задач управления.

Получение IP-адреса

Эта команда возвращает частный и общедоступный IP-адрес виртуальной машины.

az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table

Прекращение работы виртуальной машины

az vm stop --resource-group myResourceGroupVM --name myVM

Запуск виртуальной машины

az vm start --resource-group myResourceGroupVM --name myVM

Удаление ресурсов виртуальной машины

Виртуальную машину можно удалить, но по умолчанию будет удален только ресурс виртуальной машины, а не диски и сетевые ресурсы, используемые виртуальной машиной. Можно изменить поведение по умолчанию, чтобы при удалении виртуальной машины также удалялись и другие ресурсы. Дополнительные сведения см. в разделе Удаление виртуальной машины и подключенных ресурсов.

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

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

Дальнейшие действия

В рамках этого руководства вы изучили основы создания виртуальной машины и управления ею. Вы узнали, как выполнять следующие задачи:

  • Создание виртуальной машины и подключение к ней
  • Выбор и использование образов виртуальных машин
  • Просмотр и использование определенных размеров виртуальных машин
  • Изменение размера виртуальной машины
  • Просмотр виртуальной машины и оценка ее состояния

Перейдите к следующему руководству, чтобы узнать о дисках виртуальных машин.