Övning – Skapa en Azure-resurs interaktivt med Azure CLI
I det ursprungliga scenariot måste du skapa virtuella datorer (VM) för att testa crm-programvaran (Customer Relationship Management). När en ny version är tillgänglig vill du starta en ny virtuell dator för att testa hela installationsupplevelsen från en ren avbildning. När testningen är klar kan du ta bort den virtuella datorn.
Nu ska vi prova kommandona för att skapa en virtuell dator.
Anmärkning
Den här övningen är valfri. Om du vill slutföra den här övningen måste du skapa en Azure-prenumeration innan du börjar. Om du inte har något Azure-konto eller om du inte vill skapa ett för tillfället kan du läsa igenom anvisningarna så att du förstår den information som visas.
Anmärkning
Du måste använda en resursgrupp för att slutföra stegen i den här övningen. Du kan använda en resursgrupp som du redan har skapat eller skapa en ny resursgrupp specifikt för den här övningen. Om du väljer att skapa en ny resursgrupp blir det enklare att rensa alla resurser som du skapar när du slutför övningen. Om du inte har någon befintlig resursgrupp eller om du vill skapa en ny specifikt för den här övningen kan du följa stegen i Använda Azure-portalen och Azure Resource Manager för att hantera resursgrupper för att skapa en resursgrupp med hjälp av Azure-portalen, eller så kan du följa stegen i Hantera Azure-resursgrupper med hjälp av Azure CLI för att skapa en resursgrupp med hjälp av Azure CLI.
Övning – Skapa en virtuell Linux-dator med Azure CLI
Så här skapar du en ny virtuell Azure-dator med Azure CLI:
Öppna Azure Cloud Shell via Azure-portalen eller med knappen Öppna Cloud Shell längst upp till höger i många Azure CLI-kodblock.
az vm createAnvänd kommandot för att skapa den virtuella datorn.- Ange namnet på resursgruppen. Ersätt myResourceGroupName i följande exempel med namnet på en befintlig resursgrupp eller namnet på den resursgrupp som du skapade för den här övningen.
- Tilldela ett namn till den virtuella datorn enligt organisationens namngivningsstandarder.
- Välj en plats nära dig i listan över tillgängliga Azure-platser.
- Använd Linux-avbildningen:
Ubuntu2204. - Tilldela ett administratörsanvändarnamn enligt organisationens namngivningsstandarder.
#!/bin/bash # Create variables with values of your choice. rgName="myResourceGroupName" 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-keysDricks
Använde du bara knappen Kopiera och såg att alla radfortsättningstecken har tagits bort? Detta beteende är av design. Eftersom Azure CLI kan köras i många miljöer med olika radfortsättningstecken tar kopieringsknappen bort dem. Om du föredrar att kopiera ett formaterat skript använder du musen för att välja och kopiera innehållet i kodblocket.
Om du vill klistra in Azure Cloud Shell högerklickar du på en ny rad i Cloud Shell-terminalen och väljer Klistra in eller använder kortkommandot Skift+Insert (⌘+V på macOS).
Om skriptet inte har kopierats korrekt och Cloud Shell-terminalen väntar på tilläggsindata använder du CTRL + Z för att återgå till en fråga och försöka igen.
Vänta tills den virtuella Linux-datorn har skapats:
Det tar några minuter att skapa den virtuella datorn.
Hämta information om den virtuella datorn
När det är klart returnerar Azure CLI information om den virtuella datorn i JSON-format. Använd kommandona
az vm listochaz vm showför att hämta specifik information om den virtuella datorn. Nedan följer några exempel:Flera av dessa skript använder variabelnamn och värden som lagras i föregående steg.
Hämta en lista över alla virtuella datorer i tabellformat.
az vm list --output tableHämta information om en enskild virtuell dator i JSON-format.
En del av dessa utdata visas när en ny virtuell dator har skapats. Det är dock bra att returnera mer information när du räknar ut kapslade egenskapsnamn att referera till i ett skript. Egenskapsnamn är skiftlägeskänsliga.
az vm show --resource-group $rgName --name $vmNameHämta information om vm-egenskaper.
# 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"Lagra en egenskap för en virtuell dator i en variabel.
Azure CLI har flera tillgängliga utdatatyper. JSON är standard, men när du lagrar värden i variabler tar du bort extra formatering med
--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 $publicIPAnslut till den virtuella datorn.
#!/bin/bash az ssh vm --private-key-file \path\to\private\key \ --resource-group $rgName \ --name $vmName \ --local-user $vmAdminUserNameLogga ut genom att skriva avsluta.
Läs mer om fler alternativ för virtuella datorer
När du arbetar med Azure-resurser på kommandoraden använder du inte Azure-portalen, vilket ofta ger dig en lista med egenskapsalternativ. Till exempel en lista över tillgängliga platser och VM-storlekar. Azure CLI har flera kommandon i många av sina kommandogrupper som tillhandahåller den här informationen. Här är några exempel på virtuella datorer:
Dricks
Azure CLI-formatet --output table returnerar inte 100 % av tillgänglig information, men det gör ofta stora kommandoresultat enklare att läsa. Använd parametern --query för att ange den information som du är mest intresserad av.
Hämta tillgängliga VM-storlekar för en plats:
az vm list-sizes --location westus --output tableHämta tillgängliga SKU:er för en plats:
Beroende på vad
--locationdu väljer kan det ta en minut eller två för Azure CLI att returnera en fullständig lista över SKU:er.# virtual machines az vm list-skus --location westus --resource-type virtualMachines --output table # disks az vm list-skus --location westus --resource-type disks --output tableHämta tillgängliga storleksalternativ för en befintlig virtuell dator:
az vm list-vm-resize-options --resource-group $rgName --name $vmName --output tableVisa information om alla virtuella datorer i en resursgrupp.
Om du har valt att arbeta i din lokala miljö och har flera virtuella datorer i prenumerationen frågar du efter virtuella datorer som uppfyller ett filtervillkor.
#!/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
Stoppa eller ta bort en virtuell dator
Stäng av den virtuella datorn:
Du kan stänga av (stoppa) en virtuell dator som körs, även om den virtuella datorn fortsätter att faktureras.
az vm stop --resource-group $rgName --name $vmNameAnge Y och tryck på Retur när du uppmanas att fortsätta.
Frigör en virtuell dator:
Om du vill undvika att debiteras för en stoppad virtuell dator kan du frigöra den. Frigör virtuella datorer innehåller resurser som inte längre allokeras (avgifterna gäller inte längre). Status för den virtuella datorn ändras från "Stoppad" till "Stoppad (frigjord)".
az vm deallocate --resource-group $rgName --name $vmNameTa bort en virtuell dator:
När den virtuella datorn har stannat tar du bort den genom att
az vm deleteköra kommandot .az vm delete --resource-group $rgName --name $vmNameAnge Y och tryck på Retur när du uppmanas att fortsätta.
Medan du har kört dessa kommandon interaktivt är en bättre metod att skriva ett Azure CLI-skript. Med skript kan du återanvända logiken för att skapa eller ta bort en virtuell dator i framtiden.
I nästa lektion ska vi automatisera dessa uppgifter med hjälp av ett Azure CLI-skript.