Руководство по созданию виртуальных машин Linux и управлению ими с помощью Azure CLI
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
Виртуальные машины Azure предоставляют полностью настраиваемую и гибкую вычислительную среду. В этом руководстве рассматриваются основные элементы развертывания виртуальной машины Azure, например выбор ее размера, образа и ее развертывание. Узнайте следующие темы:
- Создание виртуальной машины и подключение к ней
- Выбор и использование образов виртуальных машин
- Просмотр и использование определенных размеров виртуальных машин
- Изменение размера виртуальной машины
- Просмотр виртуальной машины и оценка ее состояния
При работе с этим руководством используется интерфейс командной строки (CLI) в Azure Cloud Shell, который всегда обновлен до последней версии.
Если вы решили установить и использовать интерфейс командной строки локально, то для работы с этим руководством вам понадобится Azure CLI 2.0.30 или более поздней версии. Чтобы узнать версию, выполните команду az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
Создать группу ресурсов
Создайте группу ресурсов с помощью команды az group create.
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими. Группу ресурсов следует создавать до виртуальной машины. В этом примере создается группа ресурсов с именем myResourceGroupVM в регионе eastus2.
az group create --name myResourceGroupVM --location eastus2
Группа ресурсов указывается при создании или изменении виртуальной машины, что показывается в этом руководстве.
Создать виртуальную машину
Создайте виртуальную машину, выполнив команду az vm create.
При создании виртуальной машины доступно несколько вариантов, таких как образ операционной системы, определение размера диска и учетные данные администратора. В следующем примере создается виртуальная машина с именем myVM , на которой выполняется SUSE Linux Enterprise Server (SLES). На виртуальной машине создается учетная запись пользователя с именем azureuser, а также ключи SSH, если их еще нет в расположении для ключей по умолчанию (~/.ssh):
az vm create \
--resource-group myResourceGroupVM \
--name myVM \
--image SuseSles15SP3 \
--public-ip-sku Standard \
--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": "eastus2",
"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 образа Ubuntu, который затем используется для развертывания второй виртуальной машины.
Чтобы просмотреть список наиболее часто используемых образов, используйте команду az vm image list.
az vm image list --output table
Она отобразит наиболее популярные образы виртуальных машин в Azure.
Architecture Offer Publisher Sku Urn UrnAlias Version
-------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ----------------------- ---------
x64 debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
x64 opensuse-leap-15-3 SUSE gen2 SUSE:opensuse-leap-15-3:gen2:latest openSUSE-Leap latest
x64 RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest SLES latest
x64 0001-com-ubuntu-server-jammy Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
x64 WindowsServer MicrosoftWindowsServer 2022-Datacenter MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest Win2022Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore latest
x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
Получить полный список можно, добавив параметр --all
. Кроме того, список образов можно отфильтровать по издателю или предложению с помощью аргумента --publisher
или –-offer
соответственно. В этом примере список фильтруется для всех изображений, опубликованных OpenLogic, с предложением, соответствующим 0001-com-ubuntu-server-jammy.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
Пример частичных выходных данных:
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
Примечание.
Канонический изменил имена предложений , которые они используют для последних версий. Перед Ubuntu 20.04 имя предложения — UbuntuServer. Для Ubuntu 20.04 имя предложения — 0001-com-ubuntu-server-focal
это и для Ubuntu 22.04.0001-com-ubuntu-server-jammy
Чтобы развернуть виртуальную машину с помощью определенного образа, запишите значение в столбце Urn, которое состоит из сведений об издателе, предложении, номера SKU и (необязательно) номера версии для идентификации образа. При указании образа его номер версии можно заменить ключевым словом latest
. В этом случае будет выбрана последняя версия дистрибутива. В этом примере --image
параметр используется для указания последней версии Ubuntu 22.04.
az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts:latest --generate-ssh-keys
Описание размеров виртуальных машин
Размер виртуальной машины определяет количество выделяемых ей вычислительных ресурсов, таких как ЦП, GPU и память. Размеры виртуальных машин должны соответствовать ожидаемой рабочей нагрузке. При увеличении рабочей нагрузки размер существующей виртуальной машины может быть изменен.
Размеры ВМ
В приведенной ниже таблицы указаны категории размеров и примеры использования.
Тип | Описание |
---|---|
Универсальные | Сбалансированное соотношение ресурсов ЦП и памяти. Идеально подходят для разработки и тестирования малых и средних приложений и решений для обработки данных. |
Оптимизированные для вычислений | Высокое соотношение ресурсов ЦП и памяти. Подходят для приложений со средним объемом трафика, сетевых устройств и пакетных процессов. |
Оптимизированные для памяти | Высокое соотношение ресурсов памяти и числа ядер. Отлично подходят для реляционных баз данных, кэша среднего и большого объема, а также выполняющейся в памяти аналитики. |
Оптимизированные для хранилища | Высокая пропускная способность дисков и количество операций ввода-вывода. Идеальный вариант для работы с большими данными, а также с базами данных SQL и NoSQL. |
GPU | Специализированные виртуальные машины, предназначенные для ресурсоемкой отрисовки изображений и редактирования видео. |
Высокопроизводительные | Виртуальные машины с самыми мощными ЦП, для которых можно настроить сетевые интерфейсы с высокой пропускной способностью (RDMA). |
Поиск всех доступных размеров виртуальных машин
Чтобы просмотреть список доступных размеров виртуальных машин в определенном регионе, используйте команду az vm list-sizes.
az vm list-sizes --location eastus2 --output table
Пример частичных выходных данных:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 8192 Standard_D2ds_v4 2 1047552 76800
8 16384 Standard_D4ds_v4 4 1047552 153600
16 32768 Standard_D8ds_v4 8 1047552 307200
32 65536 Standard_D16ds_v4 16 1047552 614400
32 131072 Standard_D32ds_v4 32 1047552 1228800
32 196608 Standard_D48ds_v4 48 1047552 1843200
32 262144 Standard_D64ds_v4 64 1047552 2457600
4 8192 Standard_D2ds_v5 2 1047552 76800
8 16384 Standard_D4ds_v5 4 1047552 153600
16 32768 Standard_D8ds_v5 8 1047552 307200
32 65536 Standard_D16ds_v5 16 1047552 614400
32 131072 Standard_D32ds_v5 32 1047552 1228800
32 196608 Standard_D48ds_v5 48 1047552 1843200
32 262144 Standard_D64ds_v5 64 1047552 2457600
32 393216 Standard_D96ds_v5 96 1047552 3686400
Создание виртуальной машины с определенным размером
В предыдущем примере создания виртуальной машины размер не был указан, что привело к использованию размера по умолчанию. Размер виртуальной машины можно выбрать во время ее создания с помощью команды az vm create и параметра --size
.
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image SuseSles15SP3 \
--size Standard_D2ds_v4 \
--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_D4s_v3
Если желаемый размер в текущем кластере недоступен, то перед изменением размера виртуальную машину нужно освободить. Используйте команду 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 может находиться в одном из многих состояний. Это состояние отражает текущее состояние виртуальной машины с точки зрения гипервизора.
Состояния включения
Состояние включения | Description |
---|---|
Запуск | Указывает, что виртуальная машина запущена. |
Выполняется | Указывает, что виртуальная машина работает. |
Остановка | Указывает, что виртуальная машина останавливается. |
Остановлено | Указывает, что виртуальная машина остановлена. За виртуальные машины в остановленном состоянии по-прежнему взимается плата за вычислительные операции. |
Отмена выделения | Указывает, что виртуальная машина освобождается. |
Выделение отменено | Указывает, что виртуальная машина удалена из гипервизора, но по-прежнему доступна в плоскости управления. За виртуальные машины в освобожденном состоянии не взимается плата за вычислительные операции. |
- | Указывает, что состояние включенной виртуальной машины неизвестно. |
Поиск состояния электропитания
Чтобы получить сведения о состоянии конкретной виртуальной машины, используйте команду az vm get-instance-view. Необходимо указать допустимое имя виртуальной машины и группы ресурсов.
az vm get-instance-view \
--name myVM \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
Выходные данные:
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
Чтобы узнать рабочее состояние всех виртуальных машин в подписке, используйте 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
Следующие шаги
В рамках этого руководства вы изучили основы создания виртуальной машины и управления ею. Вы узнали, как выполнять следующие задачи:
- Создание виртуальной машины и подключение к ней
- Выбор и использование образов виртуальных машин
- Просмотр и использование определенных размеров виртуальных машин
- Изменение размера виртуальной машины
- Просмотр виртуальной машины и оценка ее состояния
Перейдите к следующему руководству, чтобы узнать о дисках виртуальных машин.