Kurz: Instalace aplikací ve škálovacích sadách virtuálních počítačů pomocí Azure CLI
Pokud chcete spouštět aplikace na instancích virtuálních počítačů ve škálovací sadě, musíte nejprve nainstalovat komponenty aplikace a požadované soubory. V předchozím kurzu jste zjistili, jak vytvořit a použít vlastní image virtuálního počítače k nasazení instancí virtuálních počítačů. Tato vlastní image zahrnovala ruční instalaci a konfiguraci aplikací. Můžete automatizovat také instalaci aplikací do škálovací sady po nasazení všech instancí virtuálních počítačů nebo aktualizaci aplikace, která je již ve škálovací sadě spuštěná. V tomto kurzu se naučíte:
- Automatická instalace aplikací do škálovací sady
- Použití rozšíření vlastních skriptů Azure
- Aktualizace spuštěné aplikace ve škálovací sadě
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.0.29 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Co je rozšíření vlastních skriptů Azure?
Rozšíření vlastních skriptů stahuje a spouští skripty na virtuálních počítačích Azure. Toto rozšíření je užitečné pro konfiguraci po nasazení, instalaci softwaru nebo jakékoli jiné úlohy konfigurace nebo správy. Skripty si můžete stáhnout z úložiště Azure nebo z GitHubu, případně je za běhu rozšíření najdete na webu Azure Portal.
Rozšíření vlastních skriptů se integruje se šablonami Azure Resource Manageru a je možné ho používat také s Azure CLI, Azure PowerShellem, webem Azure Portal nebo rozhraním REST API. Další informace najdete v tématu Přehled rozšíření vlastních skriptů.
Rozšíření vlastních skriptů v Azure CLI použijete tak, že vytvoříte soubor JSON definující, které soubory se mají získat a které příkazy se mají provést. Tyto definice JSON je možné opakovaně používat napříč nasazeními škálovací sady, aby se zajistilo používání konzistentních instalací aplikací.
Vytvoření definice rozšíření vlastních skriptů
Abychom se podívali na rozšíření vlastních skriptů v akci, vytvoříme škálovací sadu, která nainstaluje webový server NGINX a vypíše název hostitele instance virtuálního počítače ve škálovací sadě. Následující definice rozšíření vlastních skriptů stáhne ukázkový skript z GitHubu, nainstaluje požadované balíčky a pak vypíše název hostitele instance virtuálního počítače na základní stránce HTML.
V aktuálním prostředí vytvořte soubor customConfig.json a vložte do něj následující konfiguraci. Soubor vytvořte například v Cloud Shellu, pokud nepracujete na místním počítači. Můžete použít libovolný editor podle svojí volby. V tomto kurzu použijeme Vi. Zadejtevi
do Cloud Shellu. Vložte následující JSON do editoru a zadejte :w customConfig.json
.
{
"fileUris": ["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx.sh"],
"commandToExecute": './automate_nginx.sh'
}
Poznámka:
Pokud se rozhodnete odkazovat přímo na JSON (místo odkazování na soubor customConfig.json ) v parametru --settings níže, budete možná muset invertovat použití jednoduchých a dvojitých uvozovek (").
Vytvoření škálovací sady
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.
Vytvořte skupinu prostředků pomocí příkazu az group create. Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění eastus:
az group create --name myResourceGroup --location eastus
Teď vytvořte škálovací sadu virtuálních počítačů pomocí příkazu az vmss create. Následující příklad vytvoří škálovací sadu myScaleSet a vygeneruje klíče SSH, pokud ještě neexistují:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image Ubuntu2204 \
--orchestration-mode Flexible \
--admin-username azureuser \
--generate-ssh-keys
Vytvoření a konfigurace všech prostředků škálovací sady a virtuálních počítačů trvá několik minut.
Použití rozšíření vlastních skriptů
Použijte konfiguraci rozšíření vlastních skriptů na instance virtuálních počítačů ve škálovací sadě pomocí příkazu az vmss extension set. Následující příklad použije konfiguraci customConfig.json na instance virtuálních počítačů ve škálovací sadě myScaleSet a ve skupině prostředků myResourceGroup:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings customConfig.json
Upozornění
V názvech souborů se rozlišují malá a velká písmena. Pokud se chcete vyhnout selhání, použijte přesný název souboru uvedený v těchto pokynech.
Použití rozšíření u existujících instancí škálovací sady
Upgradujte všechny instance, aby se použil vlastní skript. Upgrade může trvat několik minut.
az vmss update-instances --resource-group myResourceGroup --name myScaleSet --instance-ids "*"
Povolit provoz na port 80
Pokud chcete povolit průchod provozu přes nástroj pro vyrovnávání zatížení do virtuálních počítačů, je potřeba aktualizovat výchozí skupinu zabezpečení sítě.
az network nsg rule create --name AllowHTTP --resource-group myResourceGroup --nsg-name myScaleSetNSG --access Allow --priority 1010 --destination-port-ranges 80
Test škálovací sady
Pokud chcete vidět svůj webový server v akci, získejte veřejnou IP adresu vašeho nástroje pro vyrovnávání zatížení pomocí příkazu az network public-ip show. Následující příklad získá IP adresu myScaleSetLBPublicIP vytvořenou jako součást škálovací sady:
az network public-ip show \
--resource-group myResourceGroup \
--name myScaleSetLBPublicIP \
--query [ipAddress] \
--output tsv
Zadejte veřejnou IP adresu nástroje pro vyrovnávání zatížení do webového prohlížeče. Nástroj pro vyrovnávání zatížení distribuuje provoz do jedné z vašich instancí virtuálních počítačů, jak je znázorněno v následujícím příkladu:
Nechte webový prohlížeč otevřený, abyste v dalším kroku viděli aktualizovanou verzi.
Změna zásad upgradu
V předchozí části byla potřeba ruční upgrade, aby se aktualizovaná aplikace použila pro všechny instance škálovací sady. Pokud chcete povolit automatické použití aktualizací pro všechny existující instance škálovací sady, aktualizujte zásadu upgradu z ruční na automatickou. Další informace ozásadách
az vmss update \
--name myScaleSet \
--resource-group myResourceGroup \
--set upgradePolicy.mode=automatic
Aktualizace nasazení aplikace
V aktuálním prostředí vytvořte soubor customConfigv2.json a vložte do něj následující konfiguraci. Tato definice spustí aktualizovanou verzi v2 instalačního skriptu aplikace:
{
"fileUris": ["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx_v2.sh"],
"commandToExecute": "./automate_nginx_v2.sh"
}
Znovu použijte konfiguraci rozšíření vlastních skriptů na škálovací sadu pomocí příkazu az vmss extension set. Soubor customConfigv2.json slouží k použití aktualizované verze aplikace:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroup \
--vmss-name myScaleSet \
--settings @customConfigv2.json
Vzhledem k tomu, že škálovací sada teď používá zásadu automatického upgradu, aktualizovaná aplikace se automaticky použije u existujících instancí škálovací sady. Aktualizujte webový prohlížeč, aby se zobrazila aktualizovaná aplikace.
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.
az group delete --name myResourceGroup --no-wait --yes
Další kroky
V tomto kurzu jste zjistili, jak automaticky instalovat a aktualizovat aplikace ve škálovací sadě pomocí Azure CLI:
- Automatická instalace aplikací do škálovací sady
- Použití rozšíření vlastních skriptů Azure
- Aktualizace spuštěné aplikace ve škálovací sadě
V dalším kurzu se dozvíte, jak škálovací sadu automaticky škálovat.