Cvičení – interaktivní vytvoření prostředku Azure pomocí Azure CLI

Dokončeno

V původním scénáři musíte vytvořit virtuální počítače k otestování softwaru správy vztahů se zákazníky (CRM). Pokud je k dispozici nový build, chcete aktivovat nový virtuální počítač, který otestuje celé prostředí instalace z čisté image. Po dokončení testování můžete virtuální počítač odstranit.

Pojďme vyzkoušet příkazy k vytvoření virtuálního počítače.

Cvičení – vytvoření virtuálního počítače s Linuxem pomocí Azure CLI

Vzhledem k tomu, že používáte sandbox Azure, nemusíte vytvářet skupinu prostředků. Místo toho použijte existující skupinu prostředků sandboxu [název skupiny prostředků sandboxu]. Mějte na paměti omezení polohy.

Tady je postup vytvoření nového virtuálního počítače Azure pomocí Azure CLI:

  1. az vm create Pomocí příkazu vytvořte virtuální počítač.

    • az group list Pomocí příkazu získejte název skupiny prostředků sandboxu.

    • Přiřaďte virtuálnímu počítači název podle standardů pojmenování vaší organizace.

    • V seznamu dostupných umístění sandboxu Azure vyberte umístění blízko vás:

      • westus2
      • Střed USA – jih
      • centralus
      • eastus
      • westeurope
      • Jihovýchodní Asie
      • japaneast
      • brazilsouth
      • australiasoutheast
      • centralindia
    • Použijte image Linuxu: Ubuntu2204.

    • Přiřaďte uživatelské jméno správce podle standardů pojmenování vaší organizace.

    #!/bin/bash
    
    # Get the single resource group name created by the sandbox.
    rgName=$(az group list --query "[].{Name:name}" --output tsv)
    echo $rgName
    
    # Create additional variables with values of your choice.
    vmName="msdocs-vm-01"
    vmLocation="westus"
    vmImage="Ubuntu2204"
    vmAdminUserName="myAzureUserName"
    
    # Create the VM
    az vm create \
      --resource-group $rgName \
      --name $vmName \
      --location $vmLocation \
      --image $vmImage \
      --public-ip-sku Standard \
      --admin-username $vmAdminUserName \
      --generate-ssh-keys
    

    Tip

    Použili jste tlačítko Kopírovat a všimli jste si, že byly odebrány všechny znaky pokračování řádku? Toto chování je záměrné. Vzhledem k tomu, že Azure CLI se dá spustit v mnoha prostředích s různými znaky pokračování řádku, tlačítko kopírování je odebere. Pokud chcete zkopírovat formátovaný skript, vyberte a zkopírujte obsah bloku kódu pomocí myši.

    Pokud chcete vložit Azure Cloud Shell, klikněte pravým tlačítkem myši na nový řádek v terminálu Cloud Shell a vyberte Vložit nebo použijte klávesovou zkratku Shift+Insert (⌘+V v macOS).

    Pokud se váš skript nekopíroval správně a terminál sandboxu čeká na přidání vstupu, vraťte se stisknutím kombinace kláves CTRL+Z k příkazovému řádku a zkuste to znovu.

  2. Počkejte na vytvoření virtuálního počítače s Linuxem:

    Proces vytváření virtuálního počítače trvá několik minut.

  3. Získání informací o virtuálním počítači

    Po dokončení azure CLI vrátí informace o virtuálním počítači ve formátu JSON. az vm list az vm show Pomocí příkazů můžete získat konkrétní informace o virtuálním počítači. Několik příkladů:

    Několik z těchto skriptů používá názvy proměnných a hodnoty uložené v předchozíchkrocích

    Získejte seznam všech virtuálních počítačů ve formátu tabulky.

    az vm list --output table
    

    Získejte informace o jednom virtuálním počítači ve formátu JSON.

    Některé z těchto výstupů se zobrazí po vytvoření nového virtuálního počítače. Při zjišťování vnořených názvů vlastností pro odkazování ve skriptu je ale užitečné vrátit další informace. V názvech vlastností se rozlišují malá a velká písmena.

    az vm show --resource-group $rgName --name $vmName
    

    Získejte informace o vlastnostech virtuálního počítače.

    # Get the time the VM was created
    az vm show --resource-group $rgName --name $vmName --query "timeCreated"
    
    # Get the OS disk storage account type
    az vm show --resource-group $rgName --name $vmName --query "storageProfile.osDisk.managedDisk.storageAccountType"
    

    Uložte vlastnost virtuálního počítače do proměnné.

    Azure CLI má několik dostupných typů výstupu. Json je výchozí hodnota, ale při ukládání hodnot do proměnných odeberte dodatečné formátování pomocí --output tsv.

    #!/bin/bash
    # Store the VM id
    vmID=$(az vm show --resource-group $rgName --name $vmName --query id --output tsv)
    echo $vmID
    
    # Store the public IP address
    publicIP=$(az vm list-ip-addresses \
        --resource-group $rgName \
        --name $vmName \
        --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" --output tsv)
    echo $publicIP
    
  4. Připojte se k virtuálnímu počítači.**

    #!/bin/bash
    az ssh vm --private-key-file \path\to\private\key \
        --resource-group $rgName \
        --name $vmName \
        --local-user $vmAdminUserName
    

    Odhlaste se zadáním exitu.

Další informace o možnostech virtuálního počítače

Při práci s prostředky Azure na příkazovém řádku nepoužíváte Azure Portal, který vám často nabízí výběrový seznam možností vlastností. Například seznam dostupných umístění a velikostí virtuálních počítačů. Azure CLI obsahuje v mnoha jejích skupinách příkazů několik příkazů, které tyto informace poskytují. Tady je několik příkladů pro virtuální počítače:

Tip

Formát Azure CLI --output table nevrací 100 % dostupných informací, ale často usnadňuje čtení velkých výsledků příkazů. Pomocí parametru --query zadejte informace, které vás zajímají nejvíce.

  1. Získejte dostupné velikosti virtuálních počítačů pro umístění:

    az vm list-sizes --location westus --output table
    
  2. Získejte dostupné skladové položky pro umístění:

    V závislosti na tom, co --location vyberete, může trvat minutu nebo dvě, než Azure CLI vrátí úplný seznam skladových položek.

    # virtual machines
    az vm list-skus --location westus --resource-type virtualMachines --output table
    
    # disks
    az vm list-skus --location westus --resource-type disks --output table
    
  3. Získejte dostupné možnosti změny velikosti pro existující virtuální počítač:

    az vm list-vm-resize-options --resource-group $rgName --name $vmName --output table
    
  4. Zobrazit podrobnosti pro všechny virtuální počítače ve skupině prostředků.**

    Pokud jste se rozhodli pracovat ve svém místním prostředí a máte ve svém předplatném více virtuálních počítačů, zadejte dotaz na virtuální počítače, které splňují kritéria filtru.

    #!/bin/bash
    # details of all VMs in a specified resource group
    az vm show --show-details --ids $(az vm list --resource-group $rgName --query "[].id" -o tsv)
    
    # list of all VMs created in the last 7 days
    createDate=$(date +%F -d "-7days")
    az vm list --resource-group $rgName \
            --query "[?timeCreated >='$createDate'].{Name:name, admin:osProfile.adminUsername, DiskSize:storageProfile.osDisk.diskSizeGb}" \
            --output table
    
    # list all VMs whose disks are of a certain type
    # first get a list of the disk types or organization is using
    az vm list --resource-group $rgName --query "[].{Name:name, osDiskSize:storageProfile.osDisk.diskSizeGb, managedDiskTypes:storageProfile.osDisk.managedDisk.storageAccountType}" --output table
    
    diskType="Premium_LRS"
    az vm list --resource-group $rgName \
            --query "[?storageProfile.osDisk.managedDisk.storageAccountType =='$diskType'].{Name:name, admin:osProfile.adminUsername, osDiskSize:storageProfile.osDisk.diskSizeGb, CreatedOn:timeCreated, vmID:id}" \
            --output table
    

Zastavení nebo odstranění virtuálního počítače

  1. Vypněte virtuální počítač:

    Můžete vypnout (zastavit) spuštěný virtuální počítač, i když se virtuální počítač bude dál účtovat.

    az vm stop --resource-group $rgName --name $vmName
    

    Zadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .

  2. Zrušení přidělení virtuálního počítače:

    Pokud se chcete vyhnout účtování zastaveného virtuálního počítače, můžete ho uvolnit. Uvolnění virtuálních počítačů obsahuje prostředky, které už nejsou přidělené (poplatky se už neúčtují). Stav virtuálního počítače se změní ze Zastaveno na Zastaveno (Uvolněno).

    az vm deallocate --resource-group $rgName --name $vmName
    
  3. Odstranění virtuálního počítače:

    Jakmile se virtuální počítač zastaví, odstraňte ho az vm delete spuštěním příkazu.

    az vm delete --resource-group $rgName --name $vmName
    

    Zadejte Y a po zobrazení výzvy pokračujte stisknutím klávesy Enter .

I když jste tyto příkazy spouštěli interaktivně, lepším přístupem je napsat skript Azure CLI. Skripty umožňují znovu použít logiku pro vytvoření nebo odstranění virtuálního počítače v budoucnu.

V další lekci pojďme tyto úlohy automatizovat pomocí skriptu Azure CLI.