Öğretici: Azure CLI ile sanal makine ölçek kümeleri için özel görüntü oluşturma ve kullanma

Uygulama: ✔️ Linux VM'leri ✔️ Windows VM'ler ✔️ Tekdüz ölçek kümeleri

Ölçek kümesi oluşturduğunuzda, sanal makine örnekleri dağıtılırken kullanılacak bir görüntü belirtirsiniz. Sanal makine örnekleri dağıtıldıktan sonraki görev sayısını azaltmak için özel bir sanal makine görüntüsünü kullanabilirsiniz. Bu özel sanal makine görüntüsü, gerekli uygulama yüklemelerini veya yapılandırmalarını içerir. Ölçek kümesinde oluşturulan tüm sanal makine örnekleri, özel sanal makine görüntüsünü kullanır ve uygulama trafiğinizi sunmaya hazır olur. Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:

  • Azure İşlem Galerisi oluşturma
  • Özelleştirilmiş görüntü tanımı oluşturma
  • Görüntü sürümü oluşturma
  • Özelleştirilmiş görüntüden ölçek kümesi oluşturma
  • Görüntü galerisi paylaşma

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

  • Azure Cloud Shell'Da Bash ortamını kullanın.

    Cloud Shell’i yeni bir pencerede başlatma

  • Dilerseniz CLI başvuru komutlarını çalıştırmak için Azure CLI’yi yükleyebilirsiniz.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Ek oturum açma seçenekleri için bkz. Azure CLI ile oturum açma.

    • İstendiğinde, ilk kullanımda Azure CLI uzantılarını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

  • Bu makale, Azure CLI'nin 2.4.0 veya sonraki bir sürümünü gerektirir. Bu Azure Cloud Shell, en son sürüm zaten yüklüdür.

Genel Bakış

Bir Azure İşlem Galerisi, özel görüntü paylaşımını kuruluş genelinde basitleştiriyor. Özel görüntüler market görüntüleri gibidir, ancak bunları kendiniz oluşturursunuz. Ö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.

Azure İşlem Galerisi, özel VM görüntülerinizi başka kullanıcılarla paylaşmanıza olanak sağlar. Hangi görüntüleri paylaşmak istediğinizi, hangi bölgelerde kullanılabilir hale etmek istediğinizi ve bunları kimlerle paylaşmak istediğinizi seçin.

Kaynak sanal makine oluşturma ve yapılandırma

İlk olarak, az group create ile bir kaynak grubu oluşturun ve sonra az vm create ile bir sanal makine oluşturun. Bu VM daha sonra görüntünün kaynağı olarak kullanılır. Aşağıdaki örnek, myResourceGroup adlı kaynak grubunda myVM adlı bir sanal makine oluşturur:

az group create --name myResourceGroup --location eastus

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

Önemli

Az vm create komutunun çıkışında VM'nizin kimliği gösterilir. Bu öğreticinin devamlarında kullanmak için bu kasayı kopyalayın.

Az vm create komutunun çıkışında vm'nizin genel IP adresi de gösterilir. Aşağıdaki adımları uygulayarak sanal makinenizin genel IP adresinde SSH oturumu açın:

ssh azureuser@<publicIpAddress>

Şimdi sanal makinenizi özelleştirmek için bir temel web sunucusu yükleyelim. Ölçek kümesindeki sanal makine örneği dağıtılacağı zaman, bir web uygulamasını çalıştırmak için gerekli tüm paketleri içerir. Aşağıdaki adımları uygulayarak apt-get komutunu kullanıp NGINX’i yükleyin:

sudo apt-get install -y nginx

Bitirin, exit SSH bağlantısını kesmek için yazın.

Görüntü galerisi, görüntü paylaşımını etkinleştirmek için kullanılan birincil kaynaktır.

Galeri adı için izin verilen karakterler büyük veya küçük harfler, rakamlar, noktalar ve noktalardan oluşur. Galeri adı tire içeramaz. Galeri adları aboneliğiniz içinde benzersiz olmalıdır.

az sig create kullanarak bir görüntü galerisi oluşturun. Aşağıdaki örnek, Doğu ABD 'de myGalleryRG adlı galeri adlı bir kaynak grubu ve myGallery adlı bir galeri oluşturur.

az group create --name myGalleryRG --location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery

Görüntü tanımı oluşturma

Görüntü tanımları, görüntüler için mantıksal bir gruplama sağlar. Bunlar, içinde oluşturulan görüntü sürümleriyle ilgili bilgileri yönetmek için kullanılır.

Görüntü tanımı adları büyük veya küçük harflerden, rakamlardan, noktalardan, kısa çizgilerden ve noktalardan oluşur.

Görüntü tanımınızı doğru tür olduğundan emin olun. VM'yi genel hale aldıysanız (Windows için Sysprep veya Linux için waagent -deprovision) kullanarak genelleştirilmiş bir görüntü tanımı oluşturmanız --os-state generalized gerekir. Vm'yi mevcut kullanıcı hesaplarını kaldırmadan kullanmak için kullanarak özel bir görüntü tanımı --os-state specialized oluşturun.

Bir görüntü tanımı için belirtebilirsiniz değerler hakkında daha fazla bilgi için bkz. Görüntü tanımları.

az sig image-definition create kullanarak galeride bir görüntü tanımı oluşturun.

Bu örnekte, görüntü tanımı myImageDefinition olarak adlandırılmıştır ve özelleştirilmiş bir Linux işletim sistemi görüntüsüne göredir. Bir işletim sistemi kullanarak görüntüler için bir tanım Windows --os-type Windows kullanın.

az sig image-definition create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --publisher myPublisher \
   --offer myOffer \
   --sku mySKU \
   --os-type Linux \
   --os-state specialized

Önemli

Görüntü tanımınızı kimliği komutun çıkışında gösterilir. Bu öğreticinin devamlarında kullanmak için bu kasayı kopyalayın.

Görüntü sürümünü oluşturma

az image gallery create-image-version kullanarak VM'den bir görüntü sürümü oluşturun.

Görüntü sürümü için izin verilen karakterler sayı ve noktalardandır. Sayılar 32 bit tamsayı aralığında olmalıdır. Biçim: MajorVersion. MinorVersion. Düzeltme eki uygulama.

Bu örnekte görüntümimizin sürümü 1.0.0'dır ve Orta Güney ABD bölgesinde 1 çoğaltma, Doğu ABD 2 bölgesinde ise 1 çoğaltma oluşturuz. Çoğaltma bölgeleri, kaynak VM'nin bulunduğu bölgeyi içermeli.

Bu örnekteki --managed-image değerini önceki adımda yer alan VM'nizin kimliğiyle değiştirin.

az sig image-version create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --gallery-image-version 1.0.0 \
   --target-regions "southcentralus=1" "eastus=1" \
   --managed-image "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"

Not

Başka bir görüntü sürümü oluşturmak için aynı yönetilen görüntüyü kullanamadan önce görüntü sürümünün tamamen oluşturularak çoğaltılması için beklemeniz gerekir.

Görüntü sürümünü 0000 Depolama Premium 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 --storage-account-type premium_lrs --storage-account-type standard_zrs

Görüntüden ölçek kümesi oluşturma

kullanarak özelleştirilmiş görüntüden bir ölçek kümesi az vmss create oluşturun.

Görüntünün özelleştirilmiş bir az vmss create görüntü olduğunu belirtmek için --specialized parametresini kullanarak ölçek kümesi oluşturun.

Kullanılabilir görüntünün en son sürümünden ölçek kümesi örnekleri oluşturmak için için görüntü --image tanımı kimliğini kullanın. Ayrıca, için görüntü sürümü kimliğini kullanarak belirli bir sürümden ölçek kümesi örnekleri --image oluşturabilirsiniz.

Daha önce oluşturduğum myImageDefinition görüntüsünün en son sürümü olan myScaleSet adlı bir ölçek kümesi oluşturun.

az group create --name myResourceGroup --location eastus
az vmss create \
   --resource-group myResourceGroup \
   --name myScaleSet \
   --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
   --specialized

Tüm ölçek kümesi kaynaklarının ve VM'lerin oluşturulup yapılandırılması birkaç dakika sürer.

Ölçek kümenizi test etme

Trafiğin ölçek kümenize ulaşmasına izin vermek ve web sunucusunun düzgün çalıştığını doğrulamak için az network lb rule create komutunu kullanarak bir yük dengeleyici kuralı oluşturun. Aşağıdaki örnek, 80 numaralı TCP bağlantı noktasında trafiğe izin veren, myLoadBalancerRuleWeb adlı bir kural oluşturur:

az network lb rule create \
  --resource-group myResourceGroup \
  --name myLoadBalancerRuleWeb \
  --lb-name myScaleSetLB \
  --backend-pool-name myScaleSetLBBEPool \
  --backend-port 80 \
  --frontend-ip-name loadBalancerFrontEnd \
  --frontend-port 80 \
  --protocol tcp

Ölçek kümenizi çalışır halde görmek için az network public-ip show komutunu kullanarak yük dengeleyicinizin genel IP adresini alın. Aşağıdaki örnek, ölçek kümesinin bir parçası olarak oluşturulan myScaleSetLBPublicIP için IP adresini alır:

az network public-ip show \
  --resource-group myResourceGroup \
  --name myScaleSetLBPublicIP \
  --query [ipAddress] \
  --output tsv

Genel IP adresini bir web tarayıcınıza yazın. Aşağıdaki örnekte gösterildiği gibi varsayılan NGINX web sayfası görüntülenir:

Özel sanal makine görüntüsünden çalıştırılan Nginx

Azure rol tabanlı erişim denetimi (Azure RBAC) kullanarak görüntüleri abonelikler arasında paylaşabilirsiniz. Galeride, görüntü tanımında veya görüntü sürümünde görüntü paylaşabilirsiniz. Abonelikler arasında bile görüntü sürümü üzerinde okuma izni olan tüm kullanıcılar, görüntü sürümünü kullanarak bir VM dağıtabilecektir.

Galeri düzeyinde diğer kullanıcılarla paylaşmanız önerilir. Galerinizin nesne kimliğini almak için az sig show kullanın.

az sig show \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --query id

Kullanıcıya paylaşılan görüntü galerisine erişim vermek için bir e-posta adresi ve az role assignment create ile birlikte nesne kimliğini kapsam olarak kullanın. ve <email-address> yerine <gallery iD> kendi bilgilerinizi değiştirilebilir.

az role assignment create \
   --role "Reader" \
   --assignee <email address> \
   --scope <gallery ID>

Azure RBAC kullanarak kaynakları paylaşma hakkında daha fazla bilgi için bkz. Azure CLI kullanarak Azure rol atamalarıekleme veya kaldırma.

Kaynakları temizleme

Ölçek kümenizi ve ek kaynaklarınızı kaldırmak için az group delete komutunu kullanarak kaynak grubunu ve bu kaynak grubunun tüm kaynaklarını silin. --no-wait parametresi işlemin tamamlanmasını beklemeden denetimi komut istemine döndürür. --yes parametresi kaynakları ek bir komut istemi olmadan silmek istediğinizi onaylar.

az group delete --name myResourceGroup --no-wait --yes

Sonraki adımlar

Bu öğreticide, Azure CLI ile ölçek kümeleriniz için özel sanal makine görüntüsü oluşturma ve kullanma işleminin nasıl yapılacağını öğrendiniz:

  • Azure İşlem Galerisi oluşturma
  • Özelleştirilmiş görüntü tanımı oluşturma
  • Görüntü sürümü oluşturma
  • Özelleştirilmiş görüntüden ölçek kümesi oluşturma
  • Görüntü galerisi paylaşma

Uygulamaların ölçek kümenize nasıl dağıtılacağını öğrenmek için sonraki öğreticiye ilerleyin.