Руководство по Создание пользовательского образа виртуальной машины Azure с помощью Azure CLITutorial: Create a custom image of an Azure VM with the Azure CLI

Пользовательские образы похожи на образы магазина, однако их можно создавать самостоятельно.Custom images are like marketplace images, but you create them yourself. Пользовательские образы можно использовать для начальной загрузки конфигураций, например при предварительной загрузке приложений, конфигураций приложений и других конфигураций операционной системы.Custom images can be used to bootstrap configurations such as preloading applications, application configurations, and other OS configurations. В рамках этого руководства вы создадите собственный пользовательский образ виртуальной машины Azure.In this tutorial, you create your own custom image of an Azure virtual machine. Вы узнаете, как выполнять следующие задачи:You learn how to:

  • отменить подготовку виртуальных машин и подготовить их к использованию;Deprovision and generalize VMs
  • создавать пользовательский образ;Create a custom image
  • Создание виртуальной машины из пользовательского образаCreate a VM from a custom image
  • Получение списка всех образов в подпискеList all the images in your subscription
  • удалять образ.Delete an image

При работе с этим руководством используется интерфейс командной строки (CLI) в Azure Cloud Shell, который всегда обновлен до последней версии.This tutorial uses the CLI within the Azure Cloud Shell, which is constantly updated to the latest version. Чтобы открыть Cloud Shell, выберите Попробовать в верхнем углу любого блока кода.To open the Cloud Shell, select Try it from the top of any code block.

Если вы решили установить и использовать интерфейс командной строки локально, то для работы с этим руководством вам понадобится Azure CLI 2.0.30 или более поздней версии.If you choose to install and use the CLI locally, this tutorial requires that you are running the Azure CLI version 2.0.30 or later. Чтобы узнать версию, выполните команду az --version.Run az --version to find the version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.If you need to install or upgrade, see Install Azure CLI.

Перед началом работыBefore you begin

Ниже подробно описано, как преобразовать существующую виртуальную машину в многократно используемый пользовательский образ, на основе которого можно создавать экземпляры виртуальной машины.The steps below detail how to take an existing VM and turn it into a reusable custom image that you can use to create new VM instances.

Для выполнения примера в этом руководстве требуется виртуальная машина.To complete the example in this tutorial, you must have an existing virtual machine. Этот пример сценария позволяет создать ее при необходимости.If needed, this script sample can create one for you. При работе с примером по мере необходимости заменяйте имена групп ресурсов и виртуальных машин.When working through the tutorial, replace the resource group and VM names where needed.

Создание пользовательского образаCreate a custom image

Чтобы создать образ виртуальной машины, нужно подготовить виртуальную машину, выполнив отзыв, отменив выделение и пометив исходную виртуальную машину как обобщенную.To create an image of a virtual machine, you need to prepare the VM by deprovisioning, deallocating, and then marking the source VM as generalized. После подготовки виртуальной машины вы можете создать образ.Once the VM has been prepared, you can create an image.

Отзыв виртуальной машиныDeprovision the VM

Отзыв обобщает виртуальную машину, удаляя относящиеся к ней сведения.Deprovisioning generalizes the VM by removing machine-specific information. Такое обобщение позволяет развернуть множество виртуальных машин из одного образа.This generalization makes it possible to deploy many VMs from a single image. Во время отзыва имя узла сбрасывается и принимает значение localhost.localdomain.During deprovisioning, the host name is reset to localhost.localdomain. Ключи узла SSH, конфигурации сервера доменных имен, пароль учетной записи root и кэшированные аренды DHCP также удаляются.SSH host keys, nameserver configurations, root password, and cached DHCP leases are also deleted.

Предупреждение

Если для виртуальной машины отменена подготовка, а сама она отмечена как универсальная, исходную виртуальную машину нельзя будет использовать и перезапустить.Deprovisioning and marking the VM as generalized will make source VM unusable, and it cannot be restarted.

Чтобы отозвать виртуальную машину, используйте агент виртуальной машины Azure (waagent).To deprovision the VM, use the Azure VM agent (waagent). Агент виртуальной машины Azure устанавливается на виртуальной машине и управляет подготовкой и взаимодействием с контроллером структуры Azure.The Azure VM agent is installed on the VM and manages provisioning and interacting with the Azure Fabric Controller. Дополнительные сведения см. в руководстве пользователя агента Linux Azure.For more information, see the Azure Linux Agent user guide.

Подключитесь к виртуальной машине с помощью SSH и выполните команду для ее отзыва.Connect to your VM using SSH and run the command to deprovision the VM. При указании аргумента +user также удаляется последняя подготовленная учетная запись пользователя вместе со связанными данными.With the +user argument, the last provisioned user account and any associated data are also deleted. Замените IP-адрес в примере общедоступным IP-адресом виртуальной машины.Replace the example IP address with the public IP address of your VM.

Подключитесь к виртуальной машине по протоколу SSH.SSH to the VM.

ssh azureuser@52.174.34.95

Отзовите виртуальную машину.Deprovision the VM.

sudo waagent -deprovision+user -force

Закройте сеанс SSH.Close the SSH session.

exit

Отмена выделения и пометка виртуальной машины как обобщеннойDeallocate and mark the VM as generalized

Чтобы создать образ, нужно отменить выделение виртуальной машины.To create an image, the VM needs to be deallocated. Отмените выделение виртуальной машины с помощью команды az vm deallocate.Deallocate the VM using az vm deallocate.

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

Наконец, сообщите платформе Azure, что виртуальная машина подготовлена к использованию, выполнив команду az vm generalize.Finally, set the state of the VM as generalized with az vm generalize so the Azure platform knows the VM has been generalized. Создать образ можно только из подготовленной виртуальной машины.You can only create an image from a generalized VM.

az vm generalize --resource-group myResourceGroup --name myVM

Создание образаCreate the image

Теперь можно создать образ виртуальной машины с помощью команды az image create.Now you can create an image of the VM by using az image create. В следующем примере создается образ myImage из виртуальной машины myVM.The following example creates an image named myImage from a VM named myVM.

az image create \
    --resource-group myResourceGroup \
    --name myImage \
    --source myVM

Создание виртуальных машин из образаCreate VMs from the image

Теперь, когда образ готов, из него можно создать одну или несколько виртуальных машин с помощью команды az vm create.Now that you have an image, you can create one or more new VMs from the image using az vm create. В следующем примере создается виртуальная машина myVMfromImage из образа myImage.The following example creates a VM named myVMfromImage from the image named myImage.

az vm create \
    --resource-group myResourceGroup \
    --name myVMfromImage \
    --image myImage \
    --admin-username azureuser \
    --generate-ssh-keys

Рекомендуем ограничить число параллельных развертываний из одного образа до 20 виртуальных машин.We recommend that you limit the number of concurrent deployments to 20 VMs from a single image. Если вы планируете крупномасштабное параллельное развертывание более 20 виртуальных машин из одного и того же пользовательского образа, следует использовать службу Общая коллекция образов с несколькими репликами образов.If you are planning large-scale, concurrent deployments of over 20 VMs from the same custom image, you should use a Shared Image Gallery with multiple image replicas.

Управление образамиImage management

Ниже приведены некоторые примеры распространенных задач управления образами, а также способы их настройки с помощью Azure CLI.Here are some examples of common image management tasks and how to complete them using the Azure CLI.

Получение списка всех образов по имени в формате таблицы.List all images by name in a table format.

az image list \
    --resource-group myResourceGroup

Удаление образа.Delete an image. В этом примере из myResourceGroup удаляется образ с именем myOldImage.This example deletes the image named myOldImage from the myResourceGroup.

az image delete \
    --name myOldImage \
    --resource-group myResourceGroup

Дополнительная информацияNext steps

В рамках этого руководства вы создали пользовательский образ виртуальной машины.In this tutorial, you created a custom VM image. Вы научились выполнять следующие задачи:You learned how to:

  • отменять подготовку виртуальных машин и подготавливать их к использованию;Deprovision and generalize VMs
  • создавать пользовательский образ;Create a custom image
  • Создание виртуальной машины из пользовательского образаCreate a VM from a custom image
  • Получение списка всех образов в подпискеList all the images in your subscription
  • удалять образ.Delete an image

Перейдите к следующему руководству, чтобы узнать о высокодоступных виртуальных машинах.Advance to the next tutorial to learn about highly available virtual machines.