Självstudie: Skapa och använd en anpassad avbildning för VM-skalningsuppsättningar med Azure CLI

Gäller för: ✔️ Virtuella Linux-datorer ✔️ Windows:heavy_check_mark: Uniform Scale Sets

När du skapar en skalningsuppsättning, kan du ange en avbildning som ska användas när de virtuella datorinstanserna distribueras. Om du vill minska antalet uppgifter när de virtuella datorinstanserna distribueras, kan du använda en anpassad virtuell datoravbildning. Den här anpassade virtuella datoravbildningen inkluderar alla nödvändiga programinstallationer eller konfigurationer. Alla virtuella datorinstanser som skapats i skalningsuppsättningen använder den anpassade virtuella datoravbildningen och är redo att hantera din programtrafik. I den här guiden får du lära du dig hur man:

  • Skapa ett Azure Compute galleri
  • Skapa en specialiserad avbildningsdefinition
  • Skapa en avbildningsversion
  • Skapa en skalningsuppsättning från en specialiserad avbildning
  • Dela ett bildgalleri

Om du inte har en Azure-prenumerationkan du skapa ett kostnads fritt konto innan du börjar.

Förutsättningar

  • Använd bash-miljön i Azure Cloud Shell.

    Starta Cloud Shell i ett nytt fönster

  • Om du vill kan du i stället installera Azure CLI för att köra CLI-referenskommandon.

    • Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Fler inloggningsalternativ finns i Logga in med Azure CLI.

    • När du uppmanas till det installerar du Azure CLI-tillägg vid första användning. Mer information om tillägg finns i Använda tillägg med Azure CLI.

    • Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.

  • Den här artikeln kräver version 2.4.0 eller senare av Azure CLI. Om du Azure Cloud Shell är den senaste versionen redan installerad.

Översikt

Ett Azure Compute-galleri förenklar delning av anpassade avbildningar i hela organisationen. Anpassade avbildningar liknar Marketplace-avbildningar, men du skapar dem själv. Anpassade avbildningar kan användas för startkonfigurationer, till exempel förinläsning av program, programkonfigurationer och andra OS-konfigurationer.

Med Azure Compute-galleriet kan du dela dina anpassade VM-avbildningar med andra. Välj vilka avbildningar du vill dela, vilka regioner du vill göra dem tillgängliga i och vem du vill dela dem med.

Skapa och konfigurera en virtuell källdator

Först skapar du en resursgrupp med az group create, därefter skapar du en virtuell dator med az vm create. Den här virtuella datorn används sedan som källa för avbildningen. Följande exempel skapar en virtuell dator som heter myVM i resursgruppen med namnet myResourceGroup:

az group create --name myResourceGroup --location eastus

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image ubuntults \
  --admin-username azureuser \
  --generate-ssh-keys

Viktigt

ID:t för den virtuella datorn visas i utdata från kommandot az vm create. Kopiera den till en säker plats så att du kan använda den senare i den här självstudien.

Den offentliga IP-adressen för den virtuella datorn visas också i utdata från kommandot az vm create. SSH till den virtuella datorns offentliga IP-adress enligt följande:

ssh azureuser@<publicIpAddress>

Nu ska vi installera en grundläggande webbserver för att anpassa din virtuella dator. När den virtuella datorinstansen i skalningsuppsättningen sen distribueras så har den alla nödvändiga paket för att köra ett webbprogram. Använd apt-get för att installera NGINX på följande sätt:

sudo apt-get install -y nginx

När du är klar skriver du för exit att koppla från SSH-anslutningen.

Ett bildgalleri är den primära resurs som används för att aktivera bilddelning.

Tillåtna tecken för Gallerinamn är versaler eller gemener, siffror, punkter och punkter. Gallerinamnet får inte innehålla bindestreck. Gallerinamn måste vara unika i din prenumeration.

Skapa ett avbildningsgalleri med az sig create. I följande exempel skapas en resursgrupp med namnet gallery med namnet myGalleryRG i USA, östra och ett galleri med namnet myGallery.

az group create --name myGalleryRG --location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery

Skapa en avbildningsdefinition

Bilddefinitioner skapar en logisk gruppering för bilder. De används för att hantera information om de avbildningsversioner som skapas i dem.

Bilddefinitionsnamn kan består av versaler eller gemener, siffror, punkter, bindestreck och punkter.

Kontrollera att bilddefinitionen är rätt typ. Om du har generaliserat den virtuella datorn (med Sysprep för Windows eller waagent -deprovision för Linux) bör du skapa en generaliserad avbildningsdefinition med hjälp av --os-state generalized . Om du vill använda den virtuella datorn utan att ta bort befintliga användarkonton skapar du en specialiserad avbildningsdefinition med --os-state specialized .

Mer information om de värden som du kan ange för en bilddefinition finns i Bilddefinitioner.

Skapa en avbildningsdefinition i galleriet med az sig image-definition create.

I det här exemplet heter avbildningsdefinitionen myImageDefinition och är för en specialiserad Linux OS-avbildning. Om du vill skapa en definition för avbildningar Windows ett operativsystem använder du --os-type Windows .

az sig image-definition create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --publisher myPublisher \
   --offer myOffer \
   --sku mySKU \
   --os-type Linux \
   --os-state specialized

Viktigt

ID:t för bilddefinitionen visas i kommandots utdata. Kopiera den till en säker plats så att du kan använda den senare i den här självstudien.

Skapa avbildningsversionen

Skapa en avbildningsversion från den virtuella datorn med az image gallery create-image-version.

Tillåtna tecken för bildversion är siffror och punkter. Tal måste vara inom intervallet för ett 32-bitars heltal. Format: MajorVersion. MinorVersion. Korrigera.

I det här exemplet är versionen av avbildningen 1.0.0 och vi ska skapa en replik i regionen USA, södra centrala och en replik i regionen USA, östra 2. Replikeringsregionerna måste innehålla den region som den virtuella källdatorn finns i.

Ersätt värdet för i --managed-image det här exemplet med ID:t för den virtuella datorn från föregående steg.

az sig image-version create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --gallery-image-version 1.0.0 \
   --target-regions "southcentralus=1" "eastus=1" \
   --managed-image "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"

Anteckning

Du måste vänta tills avbildningsversionen har skapats och replikerats helt innan du kan använda samma hanterade avbildning för att skapa en annan avbildningsversion.

Du kan också lagra avbildningen i Premium lagring genom att lägga till , eller zonredundant Storage genom att lägga till när --storage-account-type premium_lrs du skapar --storage-account-type standard_zrs avbildningsversionen.

Skapa en skalningsuppsättning från avbildningen

Skapa en skalningsuppsättning från den specialiserade avbildningen med hjälp av az vmss create .

Skapa skalningsuppsättningen az vmss create med hjälp av den --specialiserade parametern för att indikera att avbildningen är en specialiserad avbildning.

Använd avbildningsdefinitions-ID:t för för --image att skapa skalningsuppsättningsinstanserna från den senaste versionen av avbildningen som är tillgänglig. Du kan också skapa skalningsuppsättningsinstanserna från en specifik version genom att ange avbildningsversions-ID:t för --image .

Skapa en skalningsuppsättning med namnet myScaleSet den senaste versionen av avbildningen myImageDefinition som vi skapade tidigare.

az group create --name myResourceGroup --location eastus
az vmss create \
   --resource-group myResourceGroup \
   --name myScaleSet \
   --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
   --specialized

Det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och virtuella datorer.

Testa din skalningsuppsättning

Om vill låta trafik nå din skalningsuppsättning och verifiera att webbservern fungerar som den ska, skapar du en lastbalanseringsregel med az network lb rule create. Följande exempel skapar en regel med namnet myLoadBalancerRuleWeb som tillåter trafik på TCP port 80:

az network lb rule create \
  --resource-group myResourceGroup \
  --name myLoadBalancerRuleWeb \
  --lb-name myScaleSetLB \
  --backend-pool-name myScaleSetLBBEPool \
  --backend-port 80 \
  --frontend-ip-name loadBalancerFrontEnd \
  --frontend-port 80 \
  --protocol tcp

Om du vill se din skalningsuppsättning fungera, hämtar du den offentliga IP-adressen på din lastbalanserare med az network public-ip show. Följande exempel hämtar IP-adressen för myScaleSetLBPublicIP som skapas som en del av skalningsuppsättningen:

az network public-ip show \
  --resource-group myResourceGroup \
  --name myScaleSetLBPublicIP \
  --query [ipAddress] \
  --output tsv

Ange den offentliga IP-adressen i din webbläsare. Standardwebbsidan för NGINX visas som det visas i följande exempel:

Nginx körs från en anpassad virtuell datoravbildning

Du kan dela avbildningar mellan prenumerationer med hjälp av rollbaserad åtkomstkontroll i Azure (Azure RBAC). Du kan dela bilder i galleriet, bilddefinitionen eller bildversionen. Alla användare som har läsbehörighet till en avbildningsversion, även mellan prenumerationer, kommer att kunna distribuera en virtuell dator med avbildningsversionen.

Vi rekommenderar att du delar med andra användare på gallerinivå. Hämta galleriets objekt-ID med az sig show.

az sig show \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --query id

Använd objekt-ID:t som ett omfång, tillsammans med en e-postadress och az role assignment create för att ge en användare åtkomst till det delade bildgalleriet. Ersätt <email-address> och med din egen <gallery iD> information.

az role assignment create \
   --role "Reader" \
   --assignee <email address> \
   --scope <gallery ID>

Mer information om hur du delar resurser med Azure RBAC finns i Lägga till eller ta bort Azure-rolltilldelningar med Azure CLI.

Rensa resurser

Om du vill ta bort din skalningsuppsättning och ytterligare resurser tar du bort resursgruppen och alla dess resurser med az group delete. Parametern --no-wait återför kontrollen till kommandotolken utan att vänta på att uppgiften slutförs. Parametern --yes bekräftar att du vill ta bort resurserna utan att tillfrågas ytterligare en gång.

az group delete --name myResourceGroup --no-wait --yes

Nästa steg

I den här självstudien fick du läsa om hur du skapar och använder en anpassad virtuell datoravbildning för din skalningsuppsättning med Azure CLI:

  • Skapa ett Azure Compute galleri
  • Skapa en specialiserad avbildningsdefinition
  • Skapa en avbildningsversion
  • Skapa en skalningsuppsättning från en specialiserad avbildning
  • Dela ett bildgalleri

Gå vidare till nästa självstudie för att lära dig hur du distribuerar program till din skalningsuppsättning.