Öğretici: Azure CLI ile sanal makine ölçek kümesi oluşturma ve yönetme
Uygulama: ✔️ Linux VM'leri ✔️ Windows VM'ler ✔️ Tekdüz ölçek kümeleri
Sanal makine ölçek kümesi, birbiriyle aynı ve otomatik olarak ölçeklendirilen sanal makine kümesi dağıtmanızı ve yönetmenizi sağlar. Sanal makine ölçek kümesinin yaşam döngüsü boyunca bir veya daha fazla yönetim görevi çalıştırmanız gerekebilir. Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:
- Sanal makine ölçek kümesi oluşturma ve sanal makine ölçek kümesine bağlanma
- VM görüntülerini seçme ve kullanma
- Belirli sanal makine örneği boyutlarını görüntüleme ve kullanma
- Ölçek kümesini el ile ölçeklendirme
- Genel ölçek kümesi yönetim görevlerini gerçekleştirme
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
Azure Cloud Shell'Da Bash ortamını kullanın.
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.0.29 veya sonraki bir sürümünü gerektirir. Bu Azure Cloud Shell, en son sürüm zaten yüklüdür.
Kaynak grubu oluşturma
Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Sanal makine ölçek kümesinden önce kaynak grubu oluşturulmalıdır. az group create komutuyla bir kaynak grubu oluşturun. Bu örnekte, eastus bölgesinde myResourceGroup adlı bir kaynak grubu oluşturulur.
az group create --name myResourceGroup --location eastus
Bu öğreticide bir ölçek kümesi oluşturduğunuzda veya değiştirdiğinizde kaynak grubu adı belirtilir.
Ölçek kümesi oluşturma
az vmss create komutuyla bir sanal makine ölçek kümesi oluşturun. Aşağıdaki örnek, myScaleSet adlı bir ölçek kümesi oluşturur ve yoksa SSH anahtarları oluşturur:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image UbuntuLTS \
--admin-username azureuser \
--generate-ssh-keys
Tüm ölçek kümesi kaynaklarının ve sanal makine örneklerinin oluşturulup yapılandırılması birkaç dakika sürer. Her bir sanal makine örneklerine trafiği dağıtmak için bir yük dengeleyici de oluşturulur.
Bir ölçek kümesindeki sanal makine örneklerini görüntüleme
Bir ölçek kümesindeki sanal makine örneklerinin listesini görüntülemek için az vmss list-instances komutunu şu şekilde kullanın:
az vmss list-instances \
--resource-group myResourceGroup \
--name myScaleSet \
--output table
Aşağıdaki örnek çıktı, ölçek kümesindeki iki sanal makine örneğini göstermektedir:
InstanceId LatestModelApplied Location Name ProvisioningState ResourceGroup VmId
------------ -------------------- ---------- ------------ ------------------- --------------- ------------------------------------
1 True eastus myScaleSet_1 Succeeded MYRESOURCEGROUP c059be0c-37a2-497a-b111-41272641533c
3 True eastus myScaleSet_3 Succeeded MYRESOURCEGROUP ec19e7a7-a4cd-4b24-9670-438f4876c1f9
Çıktıdaki ilk sütunda bir InstanceId gösterilmektedir. Belirli bir sanal makine örneği hakkında ek bilgi görüntülemek için az vmss get-instance-view komutuna --instance-id parametresini ekleyin. Aşağıdaki örnekte, 1 sanal makine örneğiyle ilgili bilgiler görüntülenmektedir:
az vmss get-instance-view \
--resource-group myResourceGroup \
--name myScaleSet \
--instance-id 1
Bağlantı bilgilerini listeleme
Tek tek sanal makine örneklerine trafiği yönlendiren yük dengeleyiciye genel bir IP adresi atanır. Varsayılan olarak, belirtilen bir bağlantı noktasındaki her bir sanal makineye uzaktan bağlantı trafiğini ileten Azure Load Balancer’a Ağ Adresi Çevirisi (NAT) kuralları eklenir. Bir ölçek kümesindeki sanal makine örneklerine bağlanmak için, atanan bir genel IP adresine ve bağlantı noktası numarasına uzaktan bağlantı oluşturursunuz.
Bir ölçek kümesindeki sanal makine örneklerine bağlanacak bağlantı noktalarını ve adresi listelemek için az vmss list-instance-connection-info komutunu kullanın:
az vmss list-instance-connection-info \
--resource-group myResourceGroup \
--name myScaleSet
Aşağıdaki örnek çıktıda, yük dengeleyicinin genel IP adresi, örnek adı ve NAT kurallarının trafiği ilettiği bağlantı noktası numarası gösterilmektedir:
{
"instance 1": "13.92.224.66:50001",
"instance 3": "13.92.224.66:50003"
}
Birinci sanal makine örneğinizde SSH oturumu açın. Önceki komutta gösterildiği gibi, -p parametresiyle genel IP adresinizi ve bağlantı noktası numaranızı belirtin:
ssh azureuser@13.92.224.66 -p 50001
Sanal makine örneğinde oturum açtıktan sonra, gerektiğinde bazı el ile yapılandırma değişiklikleri gerçekleştirebilirsiniz. Şimdilik SSH oturumunu normal şekilde kapatın:
exit
Sanal makine örneği görüntülerini anlama
Öğreticinin başında bir ölçek kümesi oluşturduğunuzda, sanal makine örnekleri için UbuntuLTS öğesinin --image öğesi belirtildi. Azure Market sanal makine örneği oluşturmak için kullanılan birçok görüntü içerir. Yaygın olarak kullanılan görüntülerin bir listesini görmek için, az vm image list komutunu kullanın.
az vm image list --output table
Aşağıdaki örnek çıktıda, Azure’daki en yaygın sanal makine görüntüleri gösterilmektedir. Bir ölçek kümesi oluştururken şu genel görüntülerden birini belirtmek için UrnAlias kullanılabilir.
Offer Publisher Sku Urn UrnAlias Version
------------- ---------------------- ------------------ -------------------------------------------------------------- ------------------- ---------
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:latest CentOS latest
CoreOS CoreOS Stable CoreOS:CoreOS:Stable:latest CoreOS latest
Debian credativ 8 credativ:Debian:8:latest Debian latest
openSUSE-Leap SUSE 42.2 SUSE:openSUSE-Leap:42.2:latest openSUSE-Leap latest
RHEL RedHat 7.3 RedHat:RHEL:7.3:latest RHEL latest
SLES SUSE 12-SP2 SUSE:SLES:12-SP2:latest SLES latest
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:latest UbuntuLTS latest
WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
Tam listeyi görüntülemek için --all bağımsız değişkenini ekleyin. Görüntü listesi --publisher veya –-offer kullanılarak da filtrelenebilir. Aşağıdaki örnekte liste, CentOS ile eşleşen teklife sahip tüm görüntüler için filtrelenmiştir:
az vm image list --offer CentOS --all --output table
Aşağıdaki sıkıştırılmış çıktıda, kullanılabilir CentOS 7.3 görüntülerinden bazıları gösterilmektedir:
Offer Publisher Sku Urn Version
------- ---------- ---- ---------------------------------- -------------
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:7.3.20161221 7.3.20161221
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:7.3.20170421 7.3.20170421
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:7.3.20170517 7.3.20170517
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:7.3.20170612 7.3.20170612
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:7.3.20170707 7.3.20170707
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:7.3.20170925 7.3.20170925
Belirli bir görüntüyü kullanan bir ölçek kümesini dağıtmak için Urn sütunundaki değeri kullanın. Görüntüyü belirttiğinizde, görüntü sürümü sayısı en yeni ile değiştirilerek dağıtımın en yeni sürümü seçilebilir. Aşağıdaki örnekte, bir CentOS 7.3 görüntüsünün son sürümünü belirtmek için --image bağımsız değişkeni kullanılmıştır.
Önemli
En son görüntü sürümünün kullanılması önerilir. Dağıtım zamanında kullanılabilir bir görüntünün en son sürümünü kullanmak için 'latest' belirtin. 'Latest' kullansanız bile, yeni bir sürüm kullanılabilir olsa bile vm görüntüsü dağıtım zamanından sonra otomatik olarak güncelleştirilecek değildir.
Tüm ölçek kümesi kaynaklarının ve sanal makine örneklerinin oluşturulup yapılandırılması birkaç dakika süreceğinden, aşağıdaki ölçek kümesini dağıtmanız gerekmez:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSetCentOS \
--image OpenLogic:CentOS:7.3:latest \
--admin-user azureuser \
--generate-ssh-keys
Sanal makine örneği boyutlarını anlama
Sanal makine örneğinin boyutu veya SKU, sanal makine örneği tarafından kullanılabilen CPU, GPU ve bellek gibi işlem kaynaklarının miktarını belirler. Ölçek kümesindeki sanal makine örneklerinin beklenen iş yüküne uygun olarak boyutlandırılması gerekir.
Sanal makine örneği boyutları
Aşağıdaki tabloda genel sanal makine boyutları, kullanım durumlarına göre kategorilere ayrılmıştır.
| Tür | Ortak boyutlar | Açıklama |
|---|---|---|
| Genel amaçlı | Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 | Dengeli CPU/bellek. Küçük ve orta ölçekli uygulama ve veri çözümlerini geliştirmek/test etmek için idealdir. |
| İşlem için iyileştirilmiş | Fs, F | Yüksek CPU/bellek. Orta düzey trafiğe sahip uygulamalar, ağ gereçleri ve toplu işlemler için idealdir. |
| Bellek için iyileştirilmiş | Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D | Yüksek bellek/çekirdek. İlişkisel veritabanı, orta veya büyük boyutlu önbellekler ve bellek içi analiz için idealdir. |
| Depolama için iyileştirilmiş | Ls | Yüksek disk aktarım hızı ve GÇ. Büyük Veri, SQL ve NoSQL veritabanları için ideal. |
| GPU | NV, NC | Ağır grafik işlemleri ile video düzenleme işlemleri için özel olarak hedeflenen VM’ler. |
| Yüksek performans | H, A8-11 | İşleme düzeyi yüksek olan isteğe bağlı ağ arabirimleri (RDMA) içeren VM’lerimiz, şimdiye kadarki en güçlü CPU ile sunuluyor. |
Kullanılabilir sanal makine örneği boyutlarını bulma
Belirli bir bölgede kullanılabilen sanal makine örneği boyutlarının listesini görmek için, az vm list-sizes komutunu kullanın.
az vm list-sizes --location eastus --output table
Çıktı, her sanal makine boyutuna atanan kaynakları gösteren, aşağıdaki sıkıştırılmış örneğe benzer:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 3584 Standard_DS1_v2 1 1047552 7168
8 7168 Standard_DS2_v2 2 1047552 14336
[...]
1 768 Standard_A0 1 1047552 20480
2 1792 Standard_A1 1 1047552 71680
[...]
4 2048 Standard_F1 1 1047552 16384
8 4096 Standard_F2 2 1047552 32768
[...]
24 57344 Standard_NV6 6 1047552 38912
48 114688 Standard_NV12 12 1047552 696320
Belirli bir sanal makine örneği boyutu ile ölçek kümesi oluşturma
Öğreticinin başında bir ölçek kümesi oluşturduğunuzda, sanal makine örnekleri için varsayılan bir Standard_D1_v2 sanal makine SKU’su sağlanmıştır. az vm list-sizes içindeki çıktıyı temel alarak farklı bir sanal makine örneği belirtebilirsiniz. Aşağıdaki örnek, Standard_F1 bir sanal makine örneği boyutu belirtmek için --vm-sku parametresiyle bir ölçek kümesi oluşturur. Tüm ölçek kümesi kaynaklarının ve sanal makine örneklerinin oluşturulup yapılandırılması birkaç dakika süreceğinden, aşağıdaki ölçek kümesini dağıtmanız gerekmez:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSetF1Sku \
--image UbuntuLTS \
--vm-sku Standard_F1 \
--admin-user azureuser \
--generate-ssh-keys
Ölçek kümesinin kapasitesini değiştirme
Öğreticinin başında bir ölçek kümesi oluşturduğunuzda varsayılan olarak iki sanal makine örneği dağıtılmıştı. Bir ölçek kümesiyle oluşturulan örnek sayısını değiştirmek için az vmss create ile --instance-count parametresini belirtebilirsiniz. Mevcut ölçek kümenizdeki sanal makine örneği sayısını artırmak veya azaltmak için kapasiteyi el ile değiştirebilirsiniz. Ölçek kümesi, gerektiği sayıda sanal makine örneği oluşturur veya kaldırır ve sonra trafiği dağıtmak için yük dengeleyiciyi yapılandırır.
Ölçek kümesindeki sanal makine örneği sayısını elle artırmak veya azaltmak için az vmss scale komutunu kullanın. Aşağıdaki örnek, ölçek kümenizdeki sanal makine sayısını 3 olarak ayarlar:
az vmss scale \
--resource-group myResourceGroup \
--name myScaleSet \
--new-capacity 3
Ölçek kümenizin kapasitesinin güncelleştirilmesi birkaç dakika sürer. Ölçek kümesinde şu anda yer alan örneklerin sayısını görmek için az vmss show komutunu kullanın ve sku.capacity üzerinde bir sorgu çalıştırın:
az vmss show \
--resource-group myResourceGroup \
--name myScaleSet \
--query [sku.capacity] \
--output table
Genel yönetim görevleri
Artık bir ölçek kümesi oluşturabilir, bağlantı bilgilerini listeleyebilir ve sanal makine örneklerine bağlanabilirsiniz. Sanal makine örnekleriniz için farklı bir OS görüntüsünü nasıl kullanabileceğinizi veya örnek sayısını nasıl el ile ölçeklendirebileceğinizi öğrendiniz. Günlük yönetim işlemleriniz kapsamında, ölçek kümenizdeki sanal makine örneklerini durdurmanız, başlatmanız veya yeniden başlatmanız gerekebilir.
Bir ölçek kümesindeki sanal makine örneklerini durdurma ve serbest bırakma
Bir ölçek kümesindeki bir veya daha fazla sanal makine örneğini durdurmak için az vmss stop komutunu kullanın. --instance-ids parametresi, durdurulacak bir veya daha fazla sanal makine örneğini belirtmenize olanak sağlar. Bir örnek kimliği belirtmezseniz, ölçek kümesindeki tüm sanal makine örnekleri durdurulur. Aşağıdaki örnek, 1 örneğini durdurur:
az vmss stop --resource-group myResourceGroup --name myScaleSet --instance-ids 1
Durdurulan sanal makine örnekleri ayrılmış şekilde kalır ve işlem ücretleri uygulanmaya devam eder. Bunun yerine, sanal makine örneklerinin serbest bırakılmasını ve yalnızca depolama ücreti uygulanmasını istiyorsanız az vmss deallocate komutunu kullanın. Aşağıdaki örnek, 1 örneğini durdurur ve serbest bırakır:
az vmss deallocate --resource-group myResourceGroup --name myScaleSet --instance-ids 1
Bir ölçek kümesindeki sanal makine örneklerini başlatma
Bir ölçek kümesindeki bir veya daha fazla sanal makine örneğini başlatmak için az vmss start komutunu kullanın. --instance-ids parametresi, başlatılacak bir veya daha fazla sanal makine örneğini belirtmenize olanak sağlar. Bir örnek kimliği belirtmezseniz, ölçek kümesindeki tüm sanal makine örnekleri başlatılır. Aşağıdaki örnek, 1 örneğini başlatır:
az vmss start --resource-group myResourceGroup --name myScaleSet --instance-ids 1
Bir ölçek kümesindeki sanal makine örneklerini yeniden başlatma
Bir ölçek kümesindeki bir veya daha fazla sanal makine örneğini yeniden başlatmak için az vmss restart komutunu kullanın. --instance-ids parametresi, yeniden başlatılacak bir veya daha fazla sanal makine örneğini belirtmenize olanak sağlar. Bir örnek kimliği belirtmezseniz, ölçek kümesindeki tüm sanal makine örnekleri yeniden başlatılır. Aşağıdaki örnek, 1 örneğini yeniden başlatır:
az vmss restart --resource-group myResourceGroup --name myScaleSet --instance-ids 1
Kaynakları temizleme
Bir kaynak grubunu sildiğinizde, o kaynak grubunun içindeki sanal makine örnekleri, sanal ağ ve diskler gibi tüm kaynaklar da silinir. --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 bazı temel ölçek kümesi oluşturma ve yönetme görevlerinin nasıl gerçekleştirileceğini öğrendiniz:
- Sanal makine ölçek kümesi oluşturma ve sanal makine ölçek kümesine bağlanma
- VM görüntülerini seçme ve kullanma
- Belirli VM boyutlarını görüntüleme ve kullanma
- Ölçek kümesini el ile ölçeklendirme
- Genel ölçek kümesi yönetim görevlerini gerçekleştirme
Ölçek kümesi diskleri hakkında bilgi edinmek için sonraki öğreticiye ilerleyin.
