Öğretici: Azure CLI ile Linux VM’leri Oluşturma ve Yönetme
Uygulama: ✔️ 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. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:
- 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, sürekli en son Azure Cloud Shellgüncelleştirilen Azure Cloud Shell içindeki CLI güncelleştirilir. Dosyayı açmak Cloud Shell tüm kod bloklarının üst kısmından Deneyin'i seçin.
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şturma
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, eastus bölgesinde myResourceGroupVM adlı bir kaynak grubu oluşturulur.
az group create --name myResourceGroupVM --location eastus
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 örnekte myVM adlı Ubuntu Server çalıştıran bir VM oluşturulur. 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 UbuntuLTS \
--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. publicIpAddress öğesini not edin, 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": "eastus",
"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 çok sayıda görüntü içerir. Önceki adımlarda, bir Ubuntu görüntüsünü kullanarak bir sanal makine oluşturduk. Bu adımda, markette bir CentOS görüntüsü aramak ve ikinci bir sanal makineyi dağıtmak üzere kullanmak için Azure CLI’si 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.
Offer Publisher Sku Urn UrnAlias Version
------------- ---------------------- ------------------ -------------------------------------------------------------- ------------------- ---------
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 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
UbuntuServer Canonical 16.04-LTS Canonical:UbuntuServer:16.04-LTS:latest UbuntuLTS latest
CentOS OpenLogic 7.3 OpenLogic:CentOS:7.3:latest CentOS 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
Debian credativ 8 credativ:Debian:8:latest Debian latest
CoreOS CoreOS Stable CoreOS:CoreOS:Stable:latest CoreOS latest
Tam listeyi görmek için --all bağımsız değişkenini ekleyin. Görüntü listesi --publisher veya –-offer kullanılarak da filtrelenebilir. Bu ö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
Kısmi çıkış:
Offer Publisher Sku Urn Version
---------------- ---------------- ---- -------------------------------------- -----------
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.201501 6.5.201501
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.201503 6.5.201503
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.201506 6.5.201506
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.20150904 6.5.20150904
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.20160309 6.5.20160309
CentOS OpenLogic 6.5 OpenLogic:CentOS:6.5:6.5.20170207 6.5.20170207
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üyü belirtirken, 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. Bu örnekte, bir CentOS 6.5 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.
az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:6.5: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.
| Tür | Ortak boyutlar | Açıklama |
|---|---|---|
| Genel amaçlı | B, Dsv3, Dv3, DSv2, Dv2, Av2, DC | 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ş | Fsv2 | 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, DSv2, Dv2 | 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ş | Lsv2, Ls | Yüksek disk aktarım hızı ve GÇ. Büyük Veri, SQL ve NoSQL veritabanları için ideal. |
| GPU | NV, NVv2, NC, NCv2, NCv3, ND | Ağır grafik işlemleri ile video düzenleme işlemleri için özel olarak hedeflenen VM’ler. |
| Yüksek performans | H | İş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 eastus --output table
Kısmi çıkış:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
2 3584 Standard_DS1 1 1047552 7168
4 7168 Standard_DS2 2 1047552 14336
8 14336 Standard_DS3 4 1047552 28672
16 28672 Standard_DS4 8 1047552 57344
4 14336 Standard_DS11 2 1047552 28672
8 28672 Standard_DS12 4 1047552 57344
16 57344 Standard_DS13 8 1047552 114688
32 114688 Standard_DS14 16 1047552 229376
1 768 Standard_A0 1 1047552 20480
2 1792 Standard_A1 1 1047552 71680
4 3584 Standard_A2 2 1047552 138240
8 7168 Standard_A3 4 1047552 291840
4 14336 Standard_A5 2 1047552 138240
16 14336 Standard_A4 8 1047552 619520
8 28672 Standard_A6 4 1047552 291840
16 57344 Standard_A7 8 1047552 619520
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 komutu ve --size bağımsız değişkenini kullanarak, oluşturma sırasında VM boyutu seçilebilir.
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image UbuntuLTS \
--size Standard_F4s \
--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_DS4_v2
İ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 | Description |
|---|---|
| Başlatılıyor | Sanal makinenin başlatıldığını gösterir. |
| Çalışma | 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
Çıkış:
ode DisplayStatus Level
------------------ --------------- -------
PowerState/running VM running Info
Aboneliğinizdeki tüm VM 'lerin güç durumunu almak için, sanal makineler-tüm API 'Leri parametresi statusonly true olarak ayarlanmış şekilde kullanı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 durdurma
az vm stop --resource-group myResourceGroupVM --name myVM
Sanal makine başlatma
az vm start --resource-group myResourceGroupVM --name myVM
VM kaynaklarını silme
Bir VM 'yi silebilirsiniz, ancak varsayılan olarak VM 'nin kullandığı diskleri ve ağ kaynaklarını değil VM kaynağını da siler. VM 'yi sildiğinizde, diğer kaynakları silmek için varsayılan davranışı değiştirebilirsiniz. Daha fazla bilgi için bkz. VM ve bağlı kaynakları silme.
Bir kaynak grubunu silmek ayrıca grubun içindeki VM, sanal ağ ve disk gibi tüm kaynakları da siler. --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.