Azure CLI kullanarak DevTest Labs ile sanal makine oluşturma ve yönetme

Bu hızlı başlangıç laboratuvarınızda geliştirme makinesi oluşturma, başlatma, bağlama, güncelleştirme ve temizleme konusunda size yol gösterir.

Başlamadan önce:

  • Laboratuvar oluşturulmadıysa yönergeler burada bulunabilir.

  • Azure CLI'yi yükleyin. Başlamak için az login komutunu çalıştırarak Azure ile bağlantı oluşturun.

Sanal makineyi oluşturma ve doğrulama

DevTest Labs ile ilgili komutları yürütmeden önce komutunu kullanarak uygun Azure bağlamını az account set ayarlayın:

az account set --subscription 11111111-1111-1111-1111-111111111111

Sanal makine oluşturma komutu: az lab vm create. Laboratuvar, laboratuvar adı ve sanal makine adı için kaynak grubunun tümü gereklidir. Bağımsız değişkenlerin geri kalanı, sanal makinenin türüne bağlı olarak değişir.

Aşağıdaki komut, Azure Market Place'ten Windows tabanlı bir görüntü oluşturur. Görüntünün adı, Azure portal kullanarak sanal makine oluştururken gördüğünüz adla aynıdır.

az lab vm create --resource-group DtlResourceGroup --lab-name MyLab --name 'MyTestVm' --image "Visual Studio Community 2017 on Windows Server 2016 (x64)" --image-type gallery --size 'Standard_D2s_v3' --admin-username 'AdminUser' --admin-password 'Password1!'

Aşağıdaki komut, laboratuvarda kullanılabilen özel bir görüntüyü temel alan bir sanal makine oluşturur:

az lab vm create --resource-group DtlResourceGroup --lab-name MyLab --name 'MyTestVm' --image "My Custom Image" --image-type custom --size 'Standard_D2s_v3' --admin-username 'AdminUser' --admin-password 'Password1!'

Görüntü türü bağımsız değişkeni galeridenözele dönüşmüştür. Görüntünün adı, sanal makineyi Azure portal oluştururken gördüğünüz adla eşleşir.

Aşağıdaki komut, ssh kimlik doğrulaması ile market görüntüsünden bir VM oluşturur:

az lab vm create --lab-name sampleLabName --resource-group sampleLabResourceGroup --name sampleVMName --image "Ubuntu Server 16.04 LTS" --image-type gallery --size Standard_DS1_v2 --authentication-type  ssh --generate-ssh-keys --ip-configuration public 

Ayrıca , görüntü türü parametresini formül olarak ayarlayarak formülleri temel alan sanal makineler de oluşturabilirsiniz. Sanal makineniz için belirli bir sanal ağ seçmeniz gerekiyorsa sanal ağ adı ve alt ağ parametrelerini kullanın. Daha fazla bilgi için bkz. az lab vm create.

VM'nin kullanılabilir olduğunu doğrulayın.

az lab vm show Başlatmadan ve bağlanmadan önce VM'nin kullanılabilir olduğunu doğrulamak için komutunu kullanın.

az lab vm show --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup --expand 'properties($expand=ComputeVm,NetworkInterface)' --query '{status: computeVm.statuses[0].displayStatus, fqdn: fqdn, ipAddress: networkInterface.publicIpAddress}'
{
  "fqdn": "lisalabvm.southcentralus.cloudapp.azure.com",
  "ipAddress": "13.85.228.112",
  "status": "Provisioning succeeded"
}

Sanal makineyi başlatma ve sanal makineye bağlanma

Aşağıdaki örnek komut bir VM başlatır:

az lab vm start --lab-name sampleLabName --name sampleVMName --resource-group sampleLabResourceGroup

Vm'ye bağlanma: SSH veya Uzak Masaüstü.

ssh userName@ipAddressOrfqdn 

Sanal makineyi güncelleştirme

Aşağıdaki örnek komut, yapıtları bir VM'ye uygular:

az lab vm apply-artifacts --lab-name  sampleLabName --name sampleVMName  --resource-group sampleResourceGroup  --artifacts @/artifacts.json
[
  {
    "artifactId": "/artifactSources/public repo/artifacts/linux-java",
    "parameters": []
  },
  {
    "artifactId": "/artifactSources/public repo/artifacts/linux-install-nodejs",
    "parameters": []
  },
  {
    "artifactId": "/artifactSources/public repo/artifacts/linux-apt-package",
    "parameters": [
      {
        "name": "packages",
        "value": "abcd"
      },
      {
        "name": "update",
        "value": "true"
      },
      {
        "name": "options",
        "value": ""
      }
    ]
  } 
]

Laboratuvarda kullanılabilen yapıtları listeleme

Laboratuvardaki bir VM'de bulunan yapıtları listelemek için aşağıdaki komutları çalıştırın.

Cloud Shell - PowerShell: $expand '$expand' değerinden önce $ değerinden önce backtick (') kullanımına dikkat edin:

az lab vm show --resource-group <resourcegroupname> --lab-name <labname> --name <vmname> --expand "properties(`$expand=artifacts)" --query "artifacts[].{artifactId: artifactId, status: status}"

Cloud Shell - Bash: komutta $ önünde eğik çizgi (\) karakterinin kullanıldığına dikkat edin.

az lab vm show --resource-group <resourcegroupname> --lab-name <labname> --name <vmname> --expand "properties(\$expand=artifacts)" --query "artifacts[].{artifactId: artifactId, status: status}"

Örnek çıktı:

[
  {
    "artifactId": "/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.DevTestLab/labs/<lab name>/artifactSources/public repo/artifacts/windows-7zip",
    "status": "Succeeded"
  }
]

Sanal makineyi durdurma ve silme

Aşağıdaki örnek komut bir VM'yi durdurur.

az lab vm stop --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup

Bir sanal makineyi silme.

az lab vm delete --lab-name sampleLabName --name sampleVMName --resource-group sampleResourceGroup

Sonraki adımlar

Aşağıdaki içeriğe bakın: Azure DevTest Labs için Azure CLI belgeleri.