Cvičení – interaktivní vytvoření prostředku Azure pomocí Azure CLI
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]
Tady je postup vytvoření nového virtuálního počítače Azure pomocí Azure CLI:
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.
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.
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
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.
Získejte dostupné velikosti virtuálních počítačů pro umístění:
az vm list-sizes --location westus --output table
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
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
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
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 .
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
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.