Kurz: Vytvoření a použití vlastní image pro škálovací sady virtuálních počítačů pomocí Azure PowerShellu

Při vytváření škálovací sady zadáte image, která se použije při nasazení instancí virtuálních počítačů. Pokud chcete snížit počet úloh po nasazení instancí virtuálních počítačů, můžete použít vlastní image virtuálního počítače. Tato vlastní image virtuálního počítače obsahuje instalace a konfigurace všech požadovaných aplikací. Všechny instance virtuálních počítačů vytvořené ve škálovací sadě používají vlastní image virtuálního počítače a jsou připravené k obsluze provozu aplikace. V tomto kurzu se naučíte:

  • Vytvoření galerie výpočetních prostředků Azure
  • Vytvoření definice obrázku
  • Vytvoření verze image
  • Vytvoření škálovací sady z image
  • Sdílení galerie obrázků

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Spuštění služby Azure Cloud Shell

Azure Cloud Shell je bezplatné interaktivní prostředí, které můžete použít k provedení kroků v tomto článku. Má předinstalované obecné nástroje Azure, které jsou nakonfigurované pro použití s vaším účtem.

Pokud chcete otevřít Cloud Shell, vyberte položku Vyzkoušet v pravém horním rohu bloku kódu. Cloud Shell můžete spustit také na samostatné kartě prohlížeče na adrese https://shell.azure.com/powershell. Zkopírujte bloky kódu výběrem možnosti Kopírovat, vložte je do služby Cloud Shell a potom je spusťte stisknutím klávesy Enter.

Vytvoření a konfigurace zdrojového virtuálního počítače

Nejprve vytvořte skupinu prostředků pomocí rutiny New-AzResourceGroup a pak vytvořte virtuální počítač pomocí rutiny New-AzVM. Tento virtuální počítač se pak použije jako zdroj image. Následující příklad vytvoří virtuální počítač myVM ve skupině prostředků myResourceGroup:

New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'

New-AzVm `
   -ResourceGroupName 'myResourceGroup' `
   -Name 'myVM' `
   -Location 'East US' `
   -VirtualNetworkName 'myVnet' `
   -SubnetName 'mySubnet' `
   -SecurityGroupName 'myNetworkSecurityGroup' `
   -PublicIpAddressName 'myPublicIpAddress' `
   -OpenPorts 80,3389

Uložení proměnné virtuálního počítače

Pomocí rutiny Get-AzVM můžete zobrazit seznam virtuálních počítačů, které jsou dostupné ve skupině prostředků. Jakmile znáte název virtuálního počítače a jakou skupinu prostředků, můžete Get-AzVM objekt virtuálního počítače získat znovu a uložit ho do proměnné, abyste ho mohli použít později. Tento příklad získá virtuální počítač myVM ze skupiny prostředků myResourceGroup a přiřadí ho k proměnné $vm.

$sourceVM = Get-AzVM `
   -Name myVM `
   -ResourceGroupName myResourceGroup

Galerie imagí je primární prostředek používaný k povolení sdílení obrázků. Povolené znaky pro název galerie jsou velká nebo malá písmena, číslice, tečky a tečky. Název galerie nesmí obsahovat pomlčky. Názvy galerií musí být v rámci vašeho předplatného jedinečné.

Vytvořte galerii imagí pomocí New-AzGallery. Následující příklad vytvoří galerii s názvem myGallery ve skupině prostředků myGalleryRG .

$resourceGroup = New-AzResourceGroup `
   -Name 'myGalleryRG' `
   -Location 'EastUS'

$gallery = New-AzGallery `
   -GalleryName 'myGallery' `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -Description 'Azure Compute Gallery for my organization'	

Vytvoření definice obrázku

Definice obrázků vytvářejí logické seskupení obrázků. Slouží ke správě informací o verzích imagí vytvořených v nich. Názvy definic obrázků mohou být tvořeny velkými nebo malými písmeny, číslicemi, tečkami, pomlčkami a tečkami. Další informace o hodnotách, které můžete zadat pro definici obrázku, naleznete v tématu Definice obrázku.

Vytvořte definici image pomocí New-AzGalleryImageDefinition. V tomto příkladu se image galerie jmenuje myGalleryImage a vytvoří se pro specializovanou image.

$galleryImage = New-AzGalleryImageDefinition `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $gallery.Location `
   -Name 'myImageDefinition' `
   -OsState specialized `
   -OsType Windows `
   -Publisher 'myPublisher' `
   -Offer 'myOffer' `
   -Sku 'mySKU'

Vytvoření verze image

Vytvoření verze image z virtuálního počítače pomocí New-AzGalleryImageVersion

Povolené znaky pro verzi obrázku jsou čísla a tečky. Čísla musí být v rozsahu 32bitového celého čísla. Formát: MajorVersion.MinorVersion.Oprava.

V tomto příkladu je verze image 1.0.0 a replikuje se do datacenter USA – východ i USA – středojižní. Při výběru cílových oblastí pro replikaci musíte zahrnout zdrojovou oblast jako cíl pro replikaci.

Pokud chcete vytvořit verzi image z virtuálního počítače, použijte $vm.Id.ToString() ji pro -Source.

$region1 = @{Name='South Central US';ReplicaCount=1}
$region2 = @{Name='East US';ReplicaCount=2}
$targetRegions = @($region1,$region2)

New-AzGalleryImageVersion `
   -GalleryImageDefinitionName $galleryImage.Name`
   -GalleryImageVersionName '1.0.0' `
   -GalleryName $gallery.Name `
   -ResourceGroupName $resourceGroup.ResourceGroupName `
   -Location $resourceGroup.Location `
   -TargetRegion $targetRegions  `
   -Source $sourceVM.Id.ToString() `
   -PublishingProfileEndOfLifeDate '2023-12-01'

Replikace image do všech cílových oblastí může chvíli trvat.

Vytvoření škálovací sady z image

Teď vytvořte škálovací sadu pomocí rutiny New-AzVmss , která pomocí parametru -ImageName definuje vlastní image virtuálního počítače vytvořenou v předchozím kroku. Za účelem distribuce provozu do jednotlivých instancí virtuálních počítačů se vytvoří také nástroj pro vyrovnávání zatížení. Nástroj pro vyrovnávání zatížení obsahuje pravidla pro distribuci provozu na portu TCP 80, stejně jako provozu vzdálené plochy na portu TCP 3389 a vzdálené komunikace PowerShellu na portu TCP 5985. Po zobrazení výzvy zadejte požadované přihlašovací údaje pro správu instancí virtuálních počítačů ve škálovací sadě:

Důležité

Od listopadu 2023 se škálovací sady virtuálních počítačů vytvořené pomocí PowerShellu a Azure CLI ve výchozím nastavení nastaví do flexibilního režimu orchestrace, pokud není zadaný žádný režim orchestrace. Další informace o této změně a akcích, které byste měli provést, najdete v tématu Zásadní změna pro zákazníky PowerShellu nebo rozhraní příkazového řádku VMSS – Microsoft Community Hub.

# Define variables for the scale set
$resourceGroupName = "myScaleSet"
$scaleSetName = "myScaleSet"
$location = "East US"

# Create a resource group
New-AzResourceGroup -ResourceGroupName $resourceGroupName -Location $location

# Create a configuration 
$vmssConfig = New-AzVmssConfig `
   -Location $location `
   -OrchestrationMode Flexible `
   -SkuCapacity 2 `
   -SkuName "Standard_D2s_v3"

# Reference the image version
Set-AzVmssStorageProfile $vmssConfig `
  -OsDiskCreateOption "FromImage" `
  -ImageReferenceId $galleryImage.Id

# Create the scale set 
New-AzVmss `
  -ResourceGroupName $resourceGroupName `
  -Name $scaleSetName `
  -VirtualMachineScaleSet $vmssConfig

Vytvoření a konfigurace všech prostředků škálovací sady a virtuálních počítačů trvá několik minut.

Doporučujeme sdílet přístup na úrovni galerie imagí. Pomocí e-mailové adresy a rutiny Get-AzADUser získejte ID objektu pro uživatele a pak pomocí rutiny New-AzRoleAssignment udělte přístup k galerii. Příklad e-mailu v alinne_montes@contoso.com tomto příkladu nahraďte vlastními informacemi.

# Get the object ID for the user
$user = Get-AzADUser -StartsWith alinne_montes@contoso.com
# Grant access to the user for our gallery
New-AzRoleAssignment `
   -ObjectId $user.Id `
   -RoleDefinitionName Reader `
   -ResourceName $gallery.Name `
   -ResourceType Microsoft.Compute/galleries `
   -ResourceGroupName $resourceGroup.ResourceGroupName

Vyčištění prostředků

Pokud už ji nepotřebujete, můžete k odebrání skupiny prostředků a všech souvisejících prostředků použít rutinu Remove-AzResourceGroup :

# Delete the gallery 
Remove-AzResourceGroup -Name myGalleryRG

# Delete the scale set resource group
Remove-AzResourceGroup -Name myResoureceGroup

Další kroky

V tomto kurzu jste zjistili, jak vytvořit a použít vlastní image virtuálního počítače pro škálovací sady pomocí Azure PowerShellu:

  • Vytvoření galerie výpočetních prostředků Azure
  • Vytvoření definice obrázku
  • Vytvoření verze image
  • Vytvoření škálovací sady z image
  • Sdílení galerie obrázků

V dalším kurzu se dozvíte, jak do škálovací sady nasadit aplikace.