Linux'ta Azure VM Görüntü Oluşturucusu'nu kullanarak mevcut bir görüntüden yeni BIR VM görüntüsü oluşturma
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Bu makalede, Azure İşlem Galerisi'nde (eski adıyla Paylaşılan Görüntü Galerisi) var olan bir görüntü sürümünü güncelleştirmeyi ve yeni görüntü sürümü olarak galeride yayımlamayı öğreneceksiniz.
Görüntüyü yapılandırmak için örnek bir JSON şablonu (helloImageTemplateforSIGfromSIG.json) kullanırsınız.
Sağlayıcıları kaydetme
VM Görüntü Oluşturucusu'nu kullanmak için sağlayıcıları kaydetmeniz gerekir.
Sağlayıcı kayıtlarınızı denetleyin. Her birinin Kayıtlı değerini döndürdüğüne emin olun.
az provider show -n Microsoft.VirtualMachineImages | grep registrationState az provider show -n Microsoft.KeyVault | grep registrationState az provider show -n Microsoft.Compute | grep registrationState az provider show -n Microsoft.Storage | grep registrationState az provider show -n Microsoft.Network | grep registrationState az provider show -n Microsoft.ContainerInstance | grep registrationState
Kayıtlı döndürmezlerse, aşağıdaki komutları çalıştırarak sağlayıcıları kaydedin:
az provider register -n Microsoft.VirtualMachineImages az provider register -n Microsoft.Compute az provider register -n Microsoft.KeyVault az provider register -n Microsoft.Storage az provider register -n Microsoft.Network az provider register -n Microsoft.ContainerInstance
Değişkenleri ve izinleri ayarlama
Görüntü oluştur'u kullanarak zaten bir Azure İşlem Galerisi oluşturduysanız ve bunu bir Azure İşlem Galerisi'ne dağıttıysanız, ihtiyacınız olan değişkenlerin bazılarını zaten oluşturdunuz.
Değişkenleri henüz oluşturmadıysanız aşağıdaki komutları çalıştırın:
# Resource group name sigResourceGroup=ibLinuxGalleryRG # Gallery location location=westus2 # Additional region to replicate the image version to additionalregion=eastus # Name of the Azure Compute Gallery sigName=myIbGallery # Name of the image definition to use imageDefName=myIbImageDef # image distribution metadata reference name runOutputName=aibSIGLinuxUpdate
Abonelik kimliğiniz için bir değişken oluşturun:
subscriptionID=$(az account show --query id --output tsv)
Güncelleştirmek istediğiniz görüntü sürümünü alın:
sigDefImgVersionId=$(az sig image-version list \ -g $sigResourceGroup \ --gallery-name $sigName \ --gallery-image-definition $imageDefName \ --subscription $subscriptionID --query [].'id' -o tsv)
Kullanıcı tarafından atanan bir kimlik oluşturma ve kaynak grubunda izinleri ayarlama
Kullanıcı kimliğini daha önceki bir örnekte ayarlamıştınız, bu nedenle şimdi şablona eklenecek kaynak kimliğini almanız gerekir.
#get identity used previously
imgBuilderId=$(az identity list -g $sigResourceGroup --query "[?contains(name, 'aibBuiUserId')].id" -o tsv)
Zaten bir Azure İşlem Galeriniz varsa ancak önceki bir örneği izleyerek ayarlamadıysanız, VM Görüntü Oluşturucusu'nun galeriye erişebilmesi için kaynak grubuna erişmesi için izinler atamanız gerekir. Daha fazla bilgi için bkz . Görüntü oluşturma ve azure işlem galerisine dağıtma.
helloImage örneğini değiştirme
Kullanmak üzere olduğunuz JSON örneğini helloImageTemplateforSIGfromSIG.json adresinden gözden geçirebilirsiniz. JSON dosyası hakkında bilgi için bkz . Azure VM Görüntü Oluşturucusu şablonu oluşturma.
Linux görüntüsü oluşturma bölümünde gösterildiği gibi JSON örneğini indirin ve Azure CLI kullanarak bunu bir Azure İşlem Galerisi'ne dağıtın.
JSON'ı değişkenlerinizle yapılandırın:
curl https://raw.githubusercontent.com/azure/azvmimagebuilder/master/quickquickstarts/8_Creating_a_Custom_Linux_Shared_Image_Gallery_Image_from_SIG/helloImageTemplateforSIGfromSIG.json -o helloImageTemplateforSIGfromSIG.json sed -i -e "s/<subscriptionID>/$subscriptionID/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<rgName>/$sigResourceGroup/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<imageDefName>/$imageDefName/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<sharedImageGalName>/$sigName/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s%<sigDefImgVersionId>%$sigDefImgVersionId%g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<region1>/$location/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<region2>/$additionalregion/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<runOutputName>/$runOutputName/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s%<imgBuilderId>%$imgBuilderId%g" helloImageTemplateforSIGfromSIG.json
Görüntü oluşturma
Görüntü yapılandırmasını VM Görüntü Oluşturucusu hizmetine gönderin:
az resource create \ --resource-group $sigResourceGroup \ --properties @helloImageTemplateforSIGfromSIG.json \ --is-full-object \ --resource-type Microsoft.VirtualMachineImages/imageTemplates \ -n helloImageTemplateforSIGfromSIG01
Görüntü derlemesini başlatın:
az resource invoke-action \ --resource-group $sigResourceGroup \ --resource-type Microsoft.VirtualMachineImages/imageTemplates \ -n helloImageTemplateforSIGfromSIG01 \ --action Run
Sonraki adıma geçmeden önce görüntünün derlenmesini ve çoğaltılması için bekleyin.
Sanal makineyi oluşturma
Aşağıdakileri yaparak VM'yi oluşturun:
az vm create \ --resource-group $sigResourceGroup \ --name aibImgVm001 \ --admin-username azureuser \ --location $location \ --image "/subscriptions/$subscriptionID/resourceGroups/$sigResourceGroup/providers/Microsoft.Compute/galleries/$sigName/images/$imageDefName/versions/latest" \ --generate-ssh-keys
VM'nin genel IP adresini kullanarak VM'ye güvenli kabuk (SSH) bağlantısı oluşturun.
ssh azureuser@<pubIp>
SSH bağlantısı kurulduktan sonra görüntünün özelleştirildiğini belirten bir "Günün İletisi" almanız gerekir:
******************************************************* ** This VM was built from the: ** ** !! AZURE VM IMAGE BUILDER Custom Image !! ** ** You have just been Customized :-) ** *******************************************************
SSH bağlantısını kapatmak için yazın
exit
.Galerinizde kullanılabilen görüntü sürümlerini listelemek için şunu çalıştırın:
az sig image-version list -g $sigResourceGroup -r $sigName -i $imageDefName -o table
Sonraki adımlar
Bu makalede kullandığınız JSON dosyasının bileşenleri hakkında daha fazla bilgi edinmek için bkz . Azure VM Görüntü Oluşturucusu şablonu oluşturma.