Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
Виртуальные машины Azure предоставляют полностью настраиваемую и гибкую вычислительную среду. В этом руководстве рассматриваются основные элементы развертывания виртуальной машины Azure, например выбор ее размера, образа и ее развертывание. Вы узнаете, как:
- Создание виртуальной машины и подключение к ней
- Выбор и использование образов виртуальных машин
- Просмотр и использование определенных размеров виртуальных машин
- Изменение размера виртуальной машины
- Просмотр виртуальной машины и оценка ее состояния
При работе с этим руководством используется интерфейс командной строки (CLI) в Azure Cloud Shell, который всегда обновлен до последней версии.
Если вы решили установить и использовать интерфейс командной строки локально, то для работы с этим руководством вам понадобится Azure CLI 2.0.30 или более поздней версии. Чтобы узнать версию, выполните команду az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
Ниже мы объявляем переменные среды. Случайный суффикс добавляется к именам ресурсов, которые должны быть уникальными для каждого развертывания.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="eastus2"
export MY_RESOURCE_GROUP_NAME="myResourceGroupVM$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
Результаты:
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx",
"location": "eastus2",
"name": "myResourceGroupVMxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими. Необходимо создать группу ресурсов перед виртуальной машиной. В этом примере создается группа ресурсов с именем myResourceGroupVM в регионе eastus2.
Группа ресурсов указывается при создании или изменении виртуальной машины, что показывается в этом руководстве.
При создании виртуальной машины доступно несколько вариантов, таких как образ операционной системы, определение размера диска и учетные данные администратора. В следующем примере создается виртуальная машина с именем myVM , на которой выполняется SUSE Linux Enterprise Server (SLES). Учетная запись пользователя с именем azureuser создается на виртуальной машине, и ключи SSH создаются, если они не существуют в расположении ключа по умолчанию (~/.ssh).
export MY_VM_NAME="myVM$RANDOM_SUFFIX"
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--image SuseSles15SP5 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
Создание виртуальной машины может занять несколько минут. После создания виртуальной машины Azure CLI выводит информацию о ней. Обратите внимание на publicIpAddress
; этот адрес можно использовать для доступа к виртуальной машине.
{
"fqdns": "",
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx/providers/Microsoft.Compute/virtualMachines/myVMxxx",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVMxxx"
}
Теперь вы можете подключиться к виртуальной машине с помощью SSH из Azure Cloud Shell или с локального компьютера. Замените IP-адрес в примере адресом publicIpAddress
, записанным на предыдущем шаге.
Чтобы подключиться к виртуальной машине, сначала получите общедоступный IP-адрес с помощью Azure CLI. Выполните следующую команду, чтобы сохранить IP-адрес в переменной: export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)
После получения IP-адреса используйте SSH для подключения к виртуальной машине. Следующая команда подключается к виртуальной машине с помощью azureuser
учетной записи и полученного IP-адреса: ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Azure Marketplace включает множество образов, которые можно использовать для создания виртуальных машин. На предыдущих шагах виртуальная машина была создана с помощью образа SUSE. На этом шаге 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
Примечание
Canonical изменил названия Offer, которые они используют для самых последних версий. До 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.
export MY_VM2_NAME="myVM2$RANDOM_SUFFIX"
az vm create --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM2_NAME --image Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest --generate-ssh-keys
Размер виртуальной машины определяет количество выделяемых ей вычислительных ресурсов, таких как ЦП, GPU и память. Размеры виртуальных машин должны соответствовать ожидаемой рабочей нагрузке. При увеличении рабочей нагрузки размер существующей виртуальной машины может быть изменен.
В приведенной ниже таблицы указаны категории размеров и примеры использования.
Тип | Описание |
---|---|
Общее назначение | Сбалансированное соотношение ресурсов ЦП и памяти. Идеально подходят для разработки и тестирования малых и средних приложений и решений для обработки данных. |
вычислительно оптимизированные | Высокое соотношение ресурсов ЦП и памяти. Подходят для приложений со средним объемом трафика, сетевых устройств и пакетных процессов. |
Оптимизировано по памяти | Высокое соотношение ресурсов памяти и числа ядер. Отлично подходят для реляционных баз данных, кэша среднего и большого объема, а также выполняющейся в памяти аналитики. |
Оптимизированное хранилище | Высокая пропускная способность дисков и количество операций ввода-вывода. Идеальный вариант для работы с большими данными, а также с базами данных SQL и NoSQL. |
GPU | Специализированные виртуальные машины, предназначенные для ресурсоемкой отрисовки изображений и редактирования видео. |
Высокопроизводительные | Виртуальные машины с самыми мощными ЦП, для которых можно настроить сетевые интерфейсы с высокой пропускной способностью (RDMA). |
Чтобы просмотреть список доступных размеров виртуальных машин в определенном регионе, используйте команду az vm list-sizes.
az vm list-sizes --location $REGION --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
.
export MY_VM3_NAME="myVM3$RANDOM_SUFFIX"
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM3_NAME \
--image SuseSles15SP5 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
После развертывания виртуальной машины ее размер можно изменить, чтобы увеличить или уменьшить выделенные ей ресурсы. Текущий размер виртуальной машины можно просмотреть командой az vm show:
az vm show --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query hardwareProfile.vmSize
Перед изменением размера виртуальной машины проверьте, доступен ли желаемый размер в текущем кластере Azure. Команда az vm list-vm-resize-options отображает список всех размеров.
az vm list-vm-resize-options --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query [].name
Если нужный размер доступен, размер виртуальной машины может быть изменен в включенном состоянии, хотя она будет перезагружена во время операции. Используйте команду az vm resize для изменения размера.
az vm resize --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --size Standard_D4s_v3
Если требуемый размер недоступен в текущем кластере, виртуальная машина должна быть освобождена перед выполнением операции изменения размера. Используйте команду az vm deallocate, чтобы остановить и освободить виртуальную машину. Обратите внимание, что при включении виртуальной машины все данные на временном диске могут быть удалены. Кроме того, изменится общедоступный IP-адрес, если только не используется статический IP-адрес. После освобождения памяти, изменение размера может произойти.
После изменения размера можно будет запустить виртуальную машину.
az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
Виртуальная машина Azure может находиться в одном из многих состояний питания. Это состояние отражает текущее состояние виртуальной машины с точки зрения гипервизора.
Состояние питания | Описание |
---|---|
Запуск | Указывает, что виртуальная машина запущена. |
Бег | Указывает, что виртуальная машина работает. |
Остановка | Указывает, что виртуальная машина останавливается. |
Остановился | Указывает, что виртуальная машина остановлена. За виртуальные машины в остановленном состоянии по-прежнему взимается плата за вычислительные операции. |
Освобождение | Указывает, что виртуальная машина освобождается. |
Деаллоцирован | Указывает, что виртуальная машина удалена из гипервизора, но по-прежнему доступна в плоскости управления. За виртуальные машины в деактивированном состоянии не взимается плата за вычислительные операции. |
- | Указывает, что состояние питания виртуальной машины неизвестно. |
Чтобы получить сведения о состоянии конкретной виртуальной машины, используйте команду az vm get-instance-view. Необходимо указать допустимое имя виртуальной машины и группы ресурсов.
az vm get-instance-view \
--name $MY_VM_NAME \
--resource-group $MY_RESOURCE_GROUP_NAME \
--query instanceView.statuses[1] --output table
Выходные данные:
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
Чтобы узнать рабочее состояние всех виртуальных машин в подписке, используйте API "Виртуальные машины — показать все" с параметром statusOnly, которому задано значение true.
В течение жизненного цикла виртуальной машины можно выполнять задачи управления, такие как запуск, остановка или удаление виртуальной машины. Кроме того, можно создавать скрипты для автоматизации повторяющихся или сложных задач. С помощью Azure CLI в командной строке или в скриптах можно выполнять множество распространенных задач управления.
Эта команда возвращает частный и общедоступный IP-адрес виртуальной машины.
az vm list-ip-addresses --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --output table
az vm stop --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
В зависимости от способа удаления виртуальной машины, удаление может быть выполнено только в отношении ресурса виртуальной машины, а не сетевых и дисковых ресурсов. Можно изменить поведение по умолчанию, чтобы при удалении виртуальной машины также удалялись и другие ресурсы. Дополнительные сведения см. в разделе Удаление виртуальной машины и подключенных ресурсов.
При удалении группы ресурсов также удаляются все ресурсы в группе ресурсов, такие как виртуальная машина, виртуальная сеть и диск. При использовании параметра --no-wait
управление возвращается в командную строку без ожидания завершения операции. Параметр --yes
подтверждает, что вы хотите удалить ресурсы без дополнительного запроса.
В рамках этого руководства вы изучили основы создания виртуальной машины и управления ею. Вы узнали, как выполнять следующие задачи:
- Создание виртуальной машины и подключение к ней
- Выбор и использование образов виртуальных машин
- Просмотр и использование определенных размеров виртуальных машин
- Изменение размера виртуальной машины
- Просмотр виртуальной машины и оценка ее состояния
Перейдите к следующему руководству, чтобы узнать о дисках виртуальных машин (VM).