Öğretici: Azure CLI ile Linux VM’leri Oluşturma ve Yönetme
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri
Azure sanal makineleri tam olarak yapılandırılabilir ve esnek bir bilgi işlem ortamı sağlar. Bu öğretici VM boyutu seçme, VM görüntüsü seçme ve VM dağıtma gibi temel Azure sanal makine dağıtımı öğelerini kapsar. Şunları yapmayı öğreneceksiniz:
- VM oluşturma ve bir VM’ye bağlanma
- VM görüntülerini seçme ve kullanma
- Belirli VM boyutlarını görüntüleme ve kullanma
- VM’yi yeniden boyutlandırma
- VM durumunu görüntüleme ve anlama
Bu öğreticide Azure Cloud Shell içindeki CLI sürekli olarak en son sürüme güncelleştirilmektedir.
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. Sürümü bulmak için az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
Kaynak grubu oluştur
az group create komutuyla bir kaynak grubu oluşturun.
Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. Bir sanal makineden önce bir kaynak grubu oluşturulmalıdır. Bu örnekte, eastus2 bölgesinde myResourceGroupVM adlı bir kaynak grubu oluşturulur.
az group create --name myResourceGroupVM --location eastus2
Kaynak grubu, bu öğretici boyunca görülebileceği gibi bir VM oluşturulurken veya değiştirilirken belirtilir.
Sanal makine oluşturma
az vm create komutuyla bir sanal makine oluşturun.
Bir sanal makine oluştururken, işletim sistemi görüntüsü, disk boyutlandırma ve yönetici kimlik bilgileri gibi çeşitli seçenekler bulunur. Aşağıdaki örnek, SUSE Linux Enterprise Server (SLES) çalıştıran myVM adlı bir VM oluşturur. VM’de azureuser adlı bir kullanıcı hesabı ve varsayılan anahtar konumunda (~/.ssh) mevcut değilse SSH anahtarları oluşturulur:
az vm create \
--resource-group myResourceGroupVM \
--name myVM \
--image SuseSles15SP3 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
VM’nin oluşturulması birkaç dakika sürebilir. VM oluşturulduktan sonra, Azure CLI VM hakkında bilgi çıkışı sağlar. değerini not publicIpAddress
alın, bu adres sanal makineye erişmek için kullanılabilir.
{
"fqdns": "",
"id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVM"
}
VM’ye bağlanma
Artık Azure Cloud Shell’de SSH ile veya yerel bilgisayarınızdan VM’ye bağlanabilirsiniz. Örnek IP adresini önceki adımda not ettiğiniz publicIpAddress
ile değiştirin.
ssh azureuser@52.174.34.95
VM’de oturum açtıktan sonra, uygulamaları yükleyebilir ve yapılandırabilirsiniz. İşiniz bittiğinde, normal olarak SSH oturumunu kapatın:
exit
VM görüntülerini anlama
Azure Market, VM oluşturmak için kullanılabilecek birçok görüntü içerir. Önceki adımlarda, bir Ubuntu görüntüsünü kullanarak bir sanal makine oluşturduk. Bu adımda Azure CLI, markette bir Ubuntu görüntüsü aramak için kullanılır ve ardından ikinci bir sanal makine dağıtmak için kullanılır.
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
Komut çıkışı Azure’daki en popüler VM görüntülerini döndürür.
Architecture Offer Publisher Sku Urn UrnAlias Version
-------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ----------------------- ---------
x64 debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
x64 opensuse-leap-15-3 SUSE gen2 SUSE:opensuse-leap-15-3:gen2:latest openSUSE-Leap latest
x64 RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest SLES latest
x64 0001-com-ubuntu-server-jammy Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
x64 WindowsServer MicrosoftWindowsServer 2022-Datacenter MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest Win2022Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore latest
x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
Parametresi eklenerek --all
tam liste görülebilir. Görüntü listesi --publisher
veya –-offer
kullanılarak da filtrelenebilir. Bu örnekte liste, OpenLogic tarafından yayımlanan tüm görüntüler için 0001-com-ubuntu-server-jammy ile eşleşen bir teklifle filtrelenmiştir.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
Örnek kısmi çıkış:
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
Not
Kurallı, en son sürümler için kullandıkları Teklif adlarını değiştirdi. Ubuntu 20.04'te Teklif adı UbuntuServer'dır. Ubuntu 20.04 için Teklif adı ve 0001-com-ubuntu-server-focal
Ubuntu 22.04 için ise şeklindedir 0001-com-ubuntu-server-jammy
.
Belirli bir görüntü kullanarak bir sanal makineyi dağıtmak için, görüntüyü tanımlamak amacıyla Urn sütunundaki yayımcı, teklif, SKU ve isteğe bağlı olarak sürüm numarasından oluşan değeri not edin. Görüntü belirtilirken, görüntü sürüm numarası, dağıtımın en son sürümünü seçen ile latest
değiştirilebilir. Bu örnekte parametresi Ubuntu --image
22.04'ün en son sürümünü belirtmek için kullanılır.
az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts:latest --generate-ssh-keys
VM boyutlarını anlama
Bir sanal makinenin boyutu sanal makine tarafından kullanılabilen CPU, GPU ve bellek gibi kaynakların miktarını belirler. Sanal makinelerin beklenen iş yüküne uygun olarak boyutlandırılması gerekir. İş yükü artarsa, mevcut bir sanal makine yeniden boyutlandırılabilir.
VM Boyutları
Aşağıdaki tabloda boyutlar kullanım durumlarına göre kategorilere ayrılmaktadır.
Type | Açıklama |
---|---|
Genel amaçlı | 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ş | 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ş | 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ş | Yüksek disk aktarım hızı ve GÇ. Büyük Veri, SQL ve NoSQL veritabanları için ideal. |
GPU | Ağır grafik işlemleri ile video düzenleme işlemleri için özel olarak hedeflenen VM’ler. |
Yüksek performans | İş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 VM boyutlarını bulma
Belirli bir bölgede kullanılabilen VM boyutlarının listesini görmek için, az vm list-sizes komutunu kullanın.
az vm list-sizes --location eastus2 --output table
Örnek kısmi çıkış:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 8192 Standard_D2ds_v4 2 1047552 76800
8 16384 Standard_D4ds_v4 4 1047552 153600
16 32768 Standard_D8ds_v4 8 1047552 307200
32 65536 Standard_D16ds_v4 16 1047552 614400
32 131072 Standard_D32ds_v4 32 1047552 1228800
32 196608 Standard_D48ds_v4 48 1047552 1843200
32 262144 Standard_D64ds_v4 64 1047552 2457600
4 8192 Standard_D2ds_v5 2 1047552 76800
8 16384 Standard_D4ds_v5 4 1047552 153600
16 32768 Standard_D8ds_v5 8 1047552 307200
32 65536 Standard_D16ds_v5 16 1047552 614400
32 131072 Standard_D32ds_v5 32 1047552 1228800
32 196608 Standard_D48ds_v5 48 1047552 1843200
32 262144 Standard_D64ds_v5 64 1047552 2457600
32 393216 Standard_D96ds_v5 96 1047552 3686400
Belirli bir boyutta VM oluşturma
Önceki VM oluşturma örneğinde, bir boyut sağlanmamış ve varsayılan boyut kullanılmıştı. Az vm create ve --size
parametresi kullanılarak oluşturma zamanında bir VM boyutu seçilebilir.
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image SuseSles15SP3 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
VM’yi yeniden boyutlandırma
VM dağıtıldıktan sonra, kaynak ayırmayı artırmak veya azaltmak için yeniden boyutlandırılabilir. Bir VM’nin geçerli boyutunu az vm show komutuyla görüntüleyebilirsiniz:
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
Bir VM’yi yeniden boyutlandırmadan önce, istenen boyutun Azure kümesinde kullanılabilir olup olmadığını denetleyin. az vm list-vm-resize-options komutu boyut listesini döndürür.
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
İstenen boyut kullanılabilirse, VM açık durumdayken yeniden boyutlandırılabilir ancak işlem sırasında yeniden başlatılır. Yeniden boyutlandırmayı gerçekleştirmek için az vm resize komutunu kullanın.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3
İstenen boyut geçerli kümede değilse, yeniden boyutlandırma işlemi gerçekleştirilmeden önce VM’nin serbest bırakılması gerekir. VM’yi durdurup serbest bırakmak için az vm deallocate komutunu kullanın. VM yeniden açıldıktan sonra geçici diskteki verilerin silinebileceğine dikkat edin. Statik IP kullanılmadığı sürece ortak IP adresi de değiştirilir.
az vm deallocate --resource-group myResourceGroupVM --name myVM
VM serbest bırakıldıktan sonra yeniden boyutlandırma işlemi gerçekleştirilebilir.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1
Yeniden boyutlandırmadan sonra, VM yeniden başlatılabilir.
az vm start --resource-group myResourceGroupVM --name myVM
VM güç durumları
Bir Azure VM’si birçok güç durumuna sahip olabilir. Bu durum VM’nin hiper yönetici açısından bulunduğu geçerli durumu temsil eder.
Güç durumları
Güç Durumu | Açıklama |
---|---|
Başlatılıyor | Sanal makinenin başlatıldığını gösterir. |
Çalışıyor | Sanal makinenin çalıştığını gösterir. |
Durduruluyor | Sanal makinenin durdurulmakta olduğunu gösterir. |
Durduruldu | Sanal makinenin durdurulduğunu gösterir. Durduruldu durumundaki sanal makinelere bilgi işlem ücretleri uygulanmaya devam eder. |
Serbest bırakılıyor | Sanal makinenin serbest bırakılmakta olduğunu gösterir. |
Serbest bırakıldı | Sanal makinenin hiper yöneticiden kaldırıldığını ancak denetim masasında hala kullanılabilir olduğunu gösterir. Serbest bırakıldı durumundaki sanal makinelere bilgi işlem ücretleri uygulanmaz. |
- | Sanal makinenin güç durumunun bilinmediğini gösterir. |
Güç durumunu bulma
Belirli bir VM’nin durumunu almak için, az vm get-instance-view komutunu kullanın. Sanal makine ve kaynak grubu için geçerli bir ad belirttiğinizden emin olun.
az vm get-instance-view \
--name myVM \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
Çıktı:
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
Aboneliğinizdeki tüm VM'lerin güç durumunu almak için Sanal Makineler - List All API with parameter statusOnly ayarını true olarak ayarlayın.
Yönetim görevleri
Bir sanal makinenin yaşam döngüsü boyunca, sanal makineyi başlatmak, durdurmak veya silmek gibi yönetim görevleri gerçekleştirmek isteyebilirsiniz. Ayrıca, yinelenen veya karmaşık görevleri otomatikleştirmek için betikler oluşturmak isteyebilirsiniz. Azure CLI kullanarak, birçok ortak yönetim görevi komut satırından veya betikler içinde çalıştırılabilir.
IP adresini alma
Bu komut bir sanal makinenin özel ve ortak IP adreslerini döndürür.
az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table
Sanal makineyi durdur
az vm stop --resource-group myResourceGroupVM --name myVM
Sanal makineyi başlat
az vm start --resource-group myResourceGroupVM --name myVM
VM kaynaklarını silme
Bir VM'yi nasıl sildiğinize bağlı olarak, ağ ve disk kaynaklarını değil yalnızca VM kaynağını silebilir. VM'yi sildiğinizde diğer kaynakları silmek için varsayılan davranışı değiştirebilirsiniz. Daha fazla bilgi için bkz . VM'yi ve ekli kaynakları silme.
Bir kaynak grubu silindiğinde vm, sanal ağ ve disk gibi kaynak grubundaki 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 myResourceGroupVM --no-wait --yes
Sonraki adımlar
Bu öğreticide, aşağıdakiler gibi temel VM oluşturma ve yönetim görevlerini öğrendiniz:
- VM oluşturma ve bir VM’ye bağlanma
- VM görüntülerini seçme ve kullanma
- Belirli VM boyutlarını görüntüleme ve kullanma
- VM’yi yeniden boyutlandırma
- VM durumunu görüntüleme ve anlama
VM diskleri hakkında bilgi edinmek için sonraki öğreticiye ilerleyin.