Kurz: Vytvoření a použití vlastní image pro škálovací sady virtuálních počítačů pomocí Azure CLI
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í specializované definice obrázku
- Vytvoření verze image
- Vytvoření škálovací sady ze specializované image
- Sdílení galerie obrázků
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Tento článek vyžaduje verzi 2.4.0 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Přehled
Galerie výpočetních prostředků Azure zjednodušuje sdílení vlastních imagí v rámci vaší organizace. Vlastní image jsou podobné imagím z marketplace, ale vytváříte je sami. Vlastní image se dají použít ke spouštění konfigurací, jako jsou předběžné načítání aplikací, konfigurace aplikací a další konfigurace operačního systému.
Galerie výpočetních prostředků Azure umožňuje sdílet vlastní image virtuálních počítačů s ostatními. Vyberte obrázky, které chcete sdílet, které oblasti chcete zpřístupnit a s kým je chcete sdílet.
Vytvoření a konfigurace zdrojového virtuálního počítače
Nejprve vytvořte skupinu prostředků pomocí příkazu az group create a pak vytvořte virtuální počítač pomocí příkazu az vm create. Tento virtuální počítač se pak použije jako zdroj image.
Následující příklad vytvoří virtuální počítač s Linuxem s názvem myVM ve skupině prostředků 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
Tip
ID virtuálního počítače se zobrazí ve výstupu příkazu az vm create. Zkopírujte a uložte ho do bezpečného umístění, abyste ho mohli použít později v tomto kurzu.
Vytvoření galerie imagí
Galerie imagí je primární prostředek používaný k povolení sdílení obrázků.
Povolené znaky pro názvy galerie jsou velká nebo malá písmena, číslice, tečky a tečky. Název galerie nemůže obsahovat pomlčky. Názvy galerií musí být v rámci vašeho předplatného jedinečné.
Vytvořte galerii imagí pomocí příkazu az sig create.
V následujícím příkladu:
- Vytvoříte skupinu prostředků pro galerii myGalleryRG umístěnou v oblasti USA – východ.
- Galerie má název 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
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.
Ujistěte se, že je definice obrázku správným typem:
- Stav – Pokud jste zobecnili virtuální počítač (pomocí nástroje Sysprep pro Windows nebo waagent -deprovision pro Linux), měli byste vytvořit generalizovanou definici image pomocí
--os-state generalized
. Pokud chcete použít virtuální počítač bez odebrání existujících uživatelských účtů, vytvořte specializovanou definici image pomocí--os-state specialized
. - Typ zabezpečení – Nové virtuální počítače Azure se vytvoří s nakonfigurovaným důvěryhodným spuštěním. Tento kurz obsahuje následující ukázky kódu, které odrážejí konfiguraci důvěryhodného spuštění při vytváření definice image a škálovací sady. Pokud vytváříte image s virtuálním počítačem, který nemá povolené důvěryhodné spuštění, nezapomeňte při vytváření obou těchto prostředků odrážet správný typ zabezpečení. Další informace o důvěryhodném spuštění najdete v tématu Trusted Launch pro virtuální počítače Azure.
Další informace o hodnotách, které můžete zadat pro definici obrázku, naleznete v tématu Definice obrázku.
Vytvořte definici image v galerii pomocí příkazu az sig image-definition create.
V následujícím příkladu je definice image:
- Pojmenoval se myImageDefinition.
- Nakonfigurováno pro specializovanou image operačního systému Linux. Chcete-li vytvořit definici pro obrázky pomocí operačního systému Windows, použijte
--os-type Windows
. - Nakonfigurováno pro důvěryhodné spuštění.
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
Tip
ID definice obrázku se zobrazí ve výstupu příkazu. Zkopírujte a uložte ho do bezpečného umístění, abyste ho mohli použít později v tomto kurzu.
Vytvoření verze image
Vytvořte z virtuálního počítače verzi image pomocí příkazu az image gallery create-image-version.
Povolené znaky pro verzi image jsou čísla a tečky. Čísla musí být v rozsahu 32bitového celého čísla. Formát: MajorVersion.MinorVersion.Oprava.
V následujícím příkladu:
- Verze image je 1.0.0.
- Vytvoříme jednu repliku v oblasti USA – středojižní a jednu repliku v oblasti USA – východ. Oblasti replikace musí zahrnovat oblast, ve které se nachází zdrojový virtuální počítač.
--virtual-machine
je ID virtuálního počítače, který jsme vytvořili dříve.
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
Poznámka:
Než budete moct použít stejnou image k vytvoření jiné verze image, musíte počkat na úplné dokončení vytváření a replikace verze image.
Image můžete také uložit ve službě Premium Storage přidáním --storage-account-type premium_lrs
nebo zónově redundantním úložištěm přidáním --storage-account-type standard_zrs
při vytváření verze image.
Vytvoření škálovací sady z image
Vytvoříte škálovací sadu pomocí az vmss create
. Pokud používáte specializovaný zdrojový virtuální počítač, přidejte --specialized
parametr, který označuje, že se jedná o specializovanou image.
Když k vytvoření instancí škálovací sady použijete ID --image
definice image, vytvoříte škálovací sadu, která používá nejnovější verzi dostupné image. Pokud chcete konkrétní verzi image, nezapomeňte při definování této image --image
zahrnout ID verze image .
Příklad nejnovějšího obrázku:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage
Konkrétní příklad obrázku:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/galleries/myGallery/images/myImage/versions/1.0.0
V následujícím příkladu je škálovací sada:
- Pojmenování myScaleSet
- Použití nejnovější verze image myImageDefinition .
- Nakonfigurováno pro důvěryhodné spuštění.
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
Vytvoření a konfigurace všech prostředků škálovací sady a virtuálních počítačů trvá několik minut.
Sdílení galerie
Image můžete sdílet mezi předplatnými pomocí řízení přístupu na základě role v Azure (Azure RBAC) a sdílet je můžete v galerii, definici image nebo na úrovni verzí imagí. Každý uživatel s oprávněním ke čtení verze image, a to i napříč předplatnými, může nasadit virtuální počítač pomocí verze image.
Doporučujeme sdílet s ostatními uživateli na úrovni galerie.
Následující příklad:
- Získá ID objektu galerie pomocí az sig show.
- Poskytuje přístup k galerii pomocí příkazu az role assignment create.
- Použije ID objektu jako rozsah přiřazení.
- Použije ID přihlášeného uživatele jako přiřazeného uživatele pro demonstrační účely. Pokud tento kód použijete v testovacím nebo produkčním kódu, nezapomeňte aktualizovat přiřaďte, aby odpovídalo tomu, komu chcete mít přístup k této imagi. Další informace o sdílení prostředků pomocí Azure RBAC najdete v tématu Přidání nebo odebrání přiřazení rolí Azure pomocí Azure CLI. , spolu s e-mailovou adresou pomocí příkazu az role assignment create , aby uživatel získal přístup ke sdílené galerii imagí.
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
Vyčištění prostředků
Pokud chcete odebrat škálovací sadu a další prostředky, odstraňte skupinu prostředků a všechny její prostředky pomocí příkazu az group delete. Parametr --no-wait
vrátí řízení na příkazový řádek bez čekání na dokončení operace. Parametr --yes
potvrdí, že chcete prostředky odstranit, aniž by se na to zobrazoval další dotaz.
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 CLI:
- Vytvoření galerie výpočetních prostředků Azure
- Vytvoření specializované definice obrázku
- Vytvoření verze image
- Vytvoření škálovací sady ze specializované image
- Sdílení galerie obrázků
V dalším kurzu se dozvíte, jak do škálovací sady nasadit aplikace.