Öğretici: Azure CLI ile Azure VM'deki özel görüntüsünü oluşturmaTutorial: Create a custom image of an Azure VM with the Azure CLI

Özel görüntüler market görüntüleri gibidir, ancak bunları kendiniz oluşturursunuz.Custom images are like marketplace images, but you create them yourself. Özel görüntüler, uygulamaları, uygulama yapılandırmalarını ve diğer işletim sistemi yapılandırmalarını önceden yükleme gibi yapılandırmaları önyüklemek için kullanılabilir.Custom images can be used to bootstrap configurations such as preloading applications, application configurations, and other OS configurations. Bu öğreticide, bir Azure sanal makinesine ait kendi özel görüntünüzü oluşturursunuz.In this tutorial, you create your own custom image of an Azure virtual machine. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:You learn how to:

  • VM’lerin sağlamasını kaldırma ve VM’leri genelleştirmeDeprovision and generalize VMs
  • Özel görüntü oluşturmaCreate a custom image
  • Özel görüntüden VM oluşturmaCreate a VM from a custom image
  • Aboneliğinizdeki tüm görüntüleri listelemeList all the images in your subscription
  • Görüntü silmeDelete an image

Azure Cloud Shell kullanmaUse Azure Cloud Shell

Azure, Azure Cloud Shell, tarayıcınız üzerinden kullanabileceğiniz bir etkileşimli Kabuk ortamını barındırır.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell'i ya da kullanmanıza imkan tanır bash veya PowerShell Azure hizmetleriyle çalışmak için.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Cloud Shell önceden yüklenmiş komutları, yerel ortamınızda herhangi bir yükleme gerekmeden bu makaledeki kodu çalıştırmak için kullanabilirsiniz.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell'i başlatmak için:To launch Azure Cloud Shell:

SeçenekOption Örnek/bağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Seçme deneyin kod Cloud Shell için otomatik olarak kopyalamaz.Selecting Try It doesn't automatically copy the code to Cloud Shell. Örneği Azure Cloud Shell için deneyin
Git https://shell.azure.com veya Cloud Shell'i Başlat Cloud Shell, tarayıcınızda açmak için düğmeyi.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. <a href="https://shell.azure.com" title="Azure Cloud Shell'i Başlat
Seçin Cloud Shell düğmesine sağ üst menü çubuğundaki Azure portalında.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure portaldaki Cloud Shell düğmesi

Bu makalede Azure Cloud shell'de kod çalıştırmak için:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell'i başlatın.Launch Cloud Shell.
  2. Seçin kopyalama kodu kopyalamak için bir kod bloğu üzerinde düğmesi.Select the Copy button on a code block to copy the code.
  3. Cloud Shell oturumla kodu yapıştırın Ctrl+Shift+V Windows ve Linux'ta veya Cmd + Shift+V macOS üzerinde.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.
  4. Tuşuna Enter kodu çalıştırmak için.Press Enter to run the code.

CLI'yi yerel olarak yükleyip kullanmayı tercih ederseniz bu öğretici için Azure CLI 2.0.30 veya sonraki bir sürümünü çalıştırmanız gerekir.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. Sürümü bulmak için az --version komutunu çalıştırın.Run az --version to find the version. Yükleme veya yükseltme yapmanız gerekiyorsa bkz. Azure CLI'yı yükleme.If you need to install or upgrade, see Install Azure CLI.

Başlamadan önceBefore you begin

Aşağıdaki adımlarda, mevcut bir VM'yi alıp yeni VM örnekleri oluşturmak için kullanabileceğiniz yeniden kullanılabilir bir özel görüntüye dönüştürme işlemi ayrıntılı olarak açıklanmıştır.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.

Bu öğreticideki örneği tamamlamak için, mevcut bir sanal makinenizin olması gerekir.To complete the example in this tutorial, you must have an existing virtual machine. Gerekirse, bu betik örneği sizin için bir tane oluşturabilir.If needed, this script sample can create one for you. Bu öğreticide çalışırken, gerektiğinde kaynak grubu ve VM adlarını değiştirin.When working through the tutorial, replace the resource group and VM names where needed.

Özel görüntü oluşturmaCreate a custom image

Sanal makinenin bir görüntüsünü oluşturmak için, kaynak VM’nin sağlamasını kaldırarak, kaynak VM’yi serbest bırakarak ve ardından genelleştirilmiş olarak işaretleyerek VM’yi hazırlamanız gerekir.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. VM hazırlandıktan sonra, görüntü oluşturabilirsiniz.Once the VM has been prepared, you can create an image.

VM’nin sağlamasını kaldırmaDeprovision the VM

Sağlamayı kaldırma işlemi, makineye özgü bilgileri kaldırarak VM’yi genelleştirir.Deprovisioning generalizes the VM by removing machine-specific information. Bu genelleştirme, tek bir görüntüden birçok VM dağıtmayı mümkün kılar.This generalization makes it possible to deploy many VMs from a single image. Sağlamayı kaldırma sırasında, ana bilgisayar adı sıfırlanarak localhost.localdomain olur.During deprovisioning, the host name is reset to localhost.localdomain. SSH ana bilgisayar anahtarları, ad sunucusu yapılandırmaları, kök parolası ve önbelleğe alınan DHCP kiraları da ayrıca silinir.SSH host keys, nameserver configurations, root password, and cached DHCP leases are also deleted.

VM’nin sağlamasını kaldırmak için, Azure VM aracısını (waagent) kullanın.To deprovision the VM, use the Azure VM agent (waagent). Azure VM aracısı, VM’de yüklüdür ve sağlamayı ve Azure Yapı Denetleyicisi ile etkileşimi yönetir.The Azure VM agent is installed on the VM and manages provisioning and interacting with the Azure Fabric Controller. Daha fazla bilgi için bkz. Azure Linux Aracısı kullanıcı kılavuzu.For more information, see the Azure Linux Agent user guide.

SSH kullanarak VM'nize bağlanın ve VM’nin sağlamasını kaldırmak için komutu çalıştırın.Connect to your VM using SSH and run the command to deprovision the VM. +user bağımsız değişkeniyle, son sağlanan kullanıcı hesabı ve ilişkili tüm veriler de ayrıca silinir.With the +user argument, the last provisioned user account and any associated data are also deleted. Örnek IP adresini, sanal makinenizin genel IP adresi ile değiştirin.Replace the example IP address with the public IP address of your VM.

Sanal Makineye SSH uygulayın.SSH to the VM.

ssh azureuser@52.174.34.95

VM’nin sağlamasını kaldırın.Deprovision the VM.

sudo waagent -deprovision+user -force

SSH oturumu kapatın.Close the SSH session.

exit

VM’yi serbest bırakma ve genelleştirilmiş olarak işaretlemeDeallocate and mark the VM as generalized

Bir görüntü oluşturmak için VM’nin serbest bırakılması gerekir.To create an image, the VM needs to be deallocated. az vm deallocate komutunu kullanarak VM’yi serbest bırakın.Deallocate the VM using az vm deallocate.

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

Son olarak da, Azure platformunun VM’nin genelleştirilmiş olduğunu bilmesi için az vm generalize komutunu kullanarak VM’nin durumunu genelleştirilmiş olarak ayarlayın.Finally, set the state of the VM as generalized with az vm generalize so the Azure platform knows the VM has been generalized. Yalnızca genelleştirilmiş bir VM’den görüntü oluşturabilirsiniz.You can only create an image from a generalized VM.

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

Görüntü oluşturmaCreate the image

Artık az image create komutunu kullanarak VM’nin görüntüsünü oluşturabilirsiniz.Now you can create an image of the VM by using az image create. Aşağıdaki örnek, myVM adlı bir VM’den myImage adlı bir görüntü oluşturur.The following example creates an image named myImage from a VM named myVM.

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

Görüntüden VM oluşturmaCreate VMs from the image

Artık bir görüntünüz olduğuna göre, az vm create komutunu kullanarak görüntüden bir veya daha fazla yeni VM oluşturabilirsiniz.Now that you have an image, you can create one or more new VMs from the image using az vm create. Aşağıdaki örnek, myImage adlı görüntüden myVMfromImage adlı bir VM oluşturur.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

Görüntü yönetimiImage management

Burada, ortak görüntü yönetimi görevleri ve Azure CLI kullanarak bunların nasıl tamamlanacağını gösteren bazı örnekler verilmiştir.Here are some examples of common image management tasks and how to complete them using the Azure CLI.

Tüm görüntüleri adlara göre tablo biçiminde listeleyin.List all images by name in a table format.

az image list \
    --resource-group myResourceGroup

Görüntüyü silin.Delete an image. Bu örnek, myResourceGroup kaynak grubundan myOldImage adlı görüntüyü siler.This example deletes the image named myOldImage from the myResourceGroup.

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

Sonraki adımlarNext steps

Bu öğreticide, özel bir VM görüntüsü oluşturdunuz.In this tutorial, you created a custom VM image. Şunları öğrendiniz:You learned how to:

  • VM’lerin sağlamasını kaldırma ve VM’leri genelleştirmeDeprovision and generalize VMs
  • Özel görüntü oluşturmaCreate a custom image
  • Özel görüntüden VM oluşturmaCreate a VM from a custom image
  • Aboneliğinizdeki tüm görüntüleri listelemeList all the images in your subscription
  • Görüntü silmeDelete an image

Yüksek oranda kullanılabilir sanal makineler hakkında bilgi edinmek için sonraki öğreticiye ilerleyin.Advance to the next tutorial to learn about highly available virtual machines.