Dela via


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

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 självstudiekursen får du lära du dig att:

  • 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-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

  • Den här artikeln kräver version 2.4.0 eller senare av Azure CLI. Om du använder 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 Gallery kan du dela dina anpassade VM-avbildningar med andra. Välj vilka bilder du vill dela, vilka regioner du vill göra dem tillgängliga i och vilka 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.

I följande exempel skapas en Linux-baserad virtuell dator med namnet myVM i resursgruppen med namnet myResourceGroup.

export RANDOM_ID=$(openssl rand -hex 3)
export MY_RESOURCE_GROUP_NAME="myResourceGroup$RANDOM_ID"
export REGION="eastus"
export MY_VM_NAME="myVM"

az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION

az vm create \
  --resource-group $MY_RESOURCE_GROUP_NAME \
  --name $MY_VM_NAME \
  --image debian11 \
  --admin-username azureuser \
  --generate-ssh-keys

Dricks

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

Ett bildgalleri är den primära resursen 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 bildgalleri med az sig create.

I följande exempel:

  • Du skapar en resursgrupp för galleriet med namnet myGalleryRG som finns i USA, östra.
  • Galleriet heter myGallery.
export MY_GALLERY_RG_NAME="myGalleryRG$RANDOM_ID"
export MY_GALLERY_NAME="myGallery$RANDOM_ID"

az group create --name $MY_GALLERY_RG_NAME --location $REGION
az sig create --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME

Skapa en bilddefinition

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å av versaler eller gemener, siffror, punkter, bindestreck och punkter.

Kontrollera att bilddefinitionen är rätt typ:

  • Tillstånd – 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 .--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
  • Säkerhetstyp – Nya virtuella Azure-datorer skapas med betrodd start konfigurerad som standard. Den här självstudien innehåller efterföljande kodexempel som återspeglar konfigurationen för betrodd start när du skapar avbildningsdefinitionen och skalningsuppsättningen. Om du skapar en avbildning med en virtuell dator som inte har betrodd start aktiverad ska du se till att återspegla rätt säkerhetstyp när du skapar båda dessa resurser. Mer information om betrodd start finns i Betrodd start för virtuella Azure-datorer.

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

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

I följande exempel är bilddefinitionen:

  • Namnet myImageDefinition.
  • Konfigurerad för en specialiserad Linux OS-avbildning. Om du vill skapa en definition för avbildningar med hjälp av ett Windows-operativsystem använder du --os-type Windows.
  • Konfigurerad för betrodd start.
export MY_IMAGE_DEF_NAME="myImageDefinition$RANDOM_ID"
MY_PUBLISHER_NAME="myPublisher$RANDOM_ID"

az sig image-definition create \
   --resource-group $MY_GALLERY_RG_NAME \
   --gallery-name $MY_GALLERY_NAME \
   --gallery-image-definition $MY_IMAGE_DEF_NAME \
   --publisher $MY_PUBLISHER_NAME \
   --offer myOffer \
   --sku mySKU \
   --os-type Linux \
   --os-state specialized \
   --features SecurityType=TrustedLaunch

Dricks

ID: t för bilddefinitionen visas i kommandots utdata. Kopiera och lagra detta på en säker plats så att du kan använda det 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 avbildningsversionen är siffror och punkter. Tal måste ligga inom intervallet för ett 32-bitars heltal. Format: MajorVersion.MinorVersion.Korrigering.

I följande exempel:

  • Versionen av avbildningen är 1.0.0.
  • Vi skapar en replik i regionen USA , södra centrala och en replik i regionen USA , östra. Replikeringsregionerna måste innehålla den region som den virtuella källdatorn finns i.
  • --virtual-machine är ID för den virtuella dator som vi skapade tidigare.
export MY_VM_ID=$(az vm show --name $MY_VM_NAME --resource-group $MY_RESOURCE_GROUP_NAME --query "id" --output tsv)

az sig image-version create \
   --resource-group $MY_GALLERY_RG_NAME \
   --gallery-name $MY_GALLERY_NAME \
   --gallery-image-definition $MY_IMAGE_DEF_NAME \
   --gallery-image-version 1.0.0 \
   --target-regions "southcentralus=1" "eastus=1" \
   --virtual-machine $MY_VM_ID

Kommentar

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

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

Skapa en skalningsuppsättning från avbildningen

Du skapar en skalningsuppsättning med .az vmss create Om du använder en specialiserad virtuell källdator lägger du till parametern --specialized för att ange att det är en specialiserad avbildning.

När du använder avbildningsdefinitions-ID:t för att --image skapa skalningsuppsättningsinstanserna skapar du en skalningsuppsättning som använder den senaste versionen av avbildningen som är tillgänglig. Om du vill ha en specifik version av avbildningen måste du inkludera avbildningsversions-ID:t när du definierar --image.

  • Senaste bildexempel: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage

  • Specifikt bildexempel: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage/versions/1.0.0

I följande exempel är skalningsuppsättningen:

  • Med namnet myScaleSet
  • Använda den senaste versionen av myImageDefinition-avbildningen.
  • Konfigurerad för betrodd start.
export MY_IMAGE_DEF_ID=$(az sig image-definition show --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME --gallery-image-definition $MY_IMAGE_DEF_NAME --query "id" --output tsv)
export MY_SCALE_SET_RG_NAME="myResourceGroup$RANDOM_ID"
export MY_SCALE_SET_NAME="myScaleSet$RANDOM_ID"

az group create --name $MY_SCALE_SET_RG_NAME --location eastus

az vmss create \
   --resource-group $MY_SCALE_SET_RG_NAME \
   --name $MY_SCALE_SET_NAME \
   --orchestration-mode flexible \
   --image $MY_IMAGE_DEF_ID \
   --specialized \
   --security-type TrustedLaunch

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

Du kan dela bilder mellan prenumerationer med hjälp av rollbaserad åtkomstkontroll i Azure (Azure RBAC) och du kan dela dem på galleri-, bilddefinitions- eller bildversionsnivåer. Alla användare med läsbehörighet till en avbildningsversion, även i prenumerationer, kan distribuera en virtuell dator med hjälp av avbildningsversionen.

Vi rekommenderar att du delar med andra användare på gallerinivå.

Följande exempel:

  • Hämtar objekt-ID för galleriet med az sig show.
  • Ger åtkomst till galleriet med az role assignment create.
    • Använder objekt-ID:t som tilldelningens omfattning.
    • Använder den inloggade användarens ID som tilldelare i demonstrationssyfte. När du använder den här koden i test- eller produktionskoden måste du uppdatera tilldelningsmottagaren så att den återspeglar vem du vill ska kunna komma åt den här avbildningen. Mer information om hur du delar resurser med Hjälp av Azure RBAC finns i Lägga till eller ta bort Azure-rolltilldelningar med Hjälp av Azure CLI. , tillsammans med en e-postadress med az role assignment create för att ge en användare åtkomst till det delade bildgalleriet.
export MY_GALLERY_ID=$(az sig show --resource-group $MY_GALLERY_RG_NAME --gallery-name $MY_GALLERY_NAME --query "id" --output tsv)
export CALLER_ID=$(az ad signed-in-user show --query id -o tsv)

az role assignment create \
   --role "Reader" \
   --assignee $CALLER_ID \
   --scope $MY_GALLERY_ID

Rensa resurser

Om du vill ta bort din skalningsuppsättning och ytterligare resurser så 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.

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.