Instalace a aktualizace aplikací ve škálovacích sadách virtuálních počítačů

Dokončeno

Když nasadíte aplikaci napříč škálovací sadou, potřebujete mechanismus, který aplikaci konzistentně aktualizuje napříč všemi instancemi ve škálovací sadě. Tento výsledek můžete dosáhnout pomocí rozšíření vlastních skriptů.

V tomto scénáři přepravní firmy potřebujete rychlý způsob, jak zavést aktualizace aplikace při minimálním přerušení práce koncových uživatelů. Ideální řešením je rozšíření vlastních skriptů.

V této lekci se dozvíte, jak pomocí rozšíření vlastních skriptů aktualizovat aplikaci, která běží ve škálovací sadě.

Co je rozšíření vlastních skriptů Azure?

Rozšíření vlastních skriptů Azure umožňuje stažení a spuštění skriptu na virtuálním počítači Azure. Může automatizovat stejné úlohy na všech virtuálních počítačích ve škálovací sadě.

Vlastní skripty uložte do Azure Storage nebo na GitHub. K přidání jednoho skriptu na virtuální počítač můžete použít Azure Portal. Pokud chcete spouštět vlastní skripty jako součást nasazení pomocí šablon, zkombinujte rozšíření vlastních skriptů s šablonami Azure Resource Manageru.

Instalace aplikace do škálovací sady pomocí rozšíření vlastních skriptů

Pokud chcete použít rozšíření vlastních skriptů s Azure CLI, vytvořte konfigurační soubor, který definuje soubory pro získání a spuštění příkazů. Tento soubor je ve formátu JSON.

Následující příklad ukazuje konfiguraci vlastního skriptu, která stáhne aplikaci z úložiště na GitHubu a nainstaluje ji do instance hostitele spuštěním skriptu s názvem custom_application_v1.sh:

# yourConfigV1.json 
{
  "fileUris": ["https://raw.githubusercontent.com/yourrepo/master/custom_application_v1.sh"],
  "commandToExecute": "./custom_application_v1.sh"
}

Pokud chcete nasadit tuto konfiguraci ve škálovací sadě, použijte rozšíření vlastních skriptů. Následující kód ukazuje, jak vytvořit rozšíření vlastních skriptů pro škálovací sadu virtuálních počítačů pomocí Azure CLI. Tento příkaz nainstaluje novou aplikaci na virtuální počítače ve škálovací sadě:

az vmss extension set \
  --publisher Microsoft.Azure.Extensions \
  --version 2.0 \
  --name CustomScript \
  --resource-group myResourceGroup \
  --vmss-name yourScaleSet \
  --settings @yourConfigV1.json

Aktualizace aplikace ve škálovací sadě pomocí rozšíření vlastních skriptů

Rozšíření vlastních skriptů můžete použít k aktualizaci existující aplikace ve škálovací sadě virtuálních počítačů. Odkazujete na aktualizovaný skript nasazení a pak rozšíření znovu použít pro vaši škálovací sadu. Následující kód JSON ukazuje příklad konfigurace, která načte novou verzi aplikace a nainstaluje ji:

# yourConfigV2.json
{
  "fileUris": ["https://raw.githubusercontent.com/yourrepo/master/custom_application_v2.sh"],
  "commandToExecute": "./custom_application_v2.sh"
}

K nasazení aktualizované aplikace můžete použít stejný az vmss extension set příkaz, který jste použili dříve, ale tentokrát odkazujete na nový konfigurační soubor:

az vmss extension set \
  --publisher Microsoft.Azure.Extensions \
  --version 2.0 \
  --name CustomScript \
  --resource-group yourResourceGroup \
  --vmss-name yourScaleSet \
  --settings @yourConfigV2.json

Virtuální počítače se aktualizují podle zásad upgradování škálovací sady. Tato zásada při prvním vytvoření škálovací sady. Zásady upgradování můžou mít jeden z následujících tří režimů:

  • Automaticky: Škálovací sada nedefinuje, kdy se virtuální počítače upgradují. Všechny se můžou aktualizovat současně, což způsobí výpadek služby.
  • Uvedení: Škálovací sada zavádí aktualizaci v dávkách napříč virtuálními počítači ve škálovací sadě. Volitelné pozastavení může minimalizovat nebo eliminovat výpadek služby. V tomto režimu můžou na počítačích ve škálovací sadě po krátkou dobu běžet rozdílné verze aplikace. Tento režim vyžaduje, abyste buď do škálovací sady přidali sondu stavu, nebo u škálovací sady použili rozšíření stavu aplikace.
  • Ruční: Existující virtuální počítače ve škálovací sadě se neaktualizují. Všechny změny je nutné provést ručně. Tento režim je výchozí.

Pokud chcete určit režim zásad upgradu při zřizování škálovací sady virtuálních počítačů, můžete použít tuto --upgrade-policy-mode možnost. Následující příklad kód používá Azure CLI:

az vmss create \
  --resource-group MyResourceGroup \
  --name MyScaleSet \
  --image Ubuntu2204 \
  --upgrade-policy-mode automatic \
  --admin-username azureuser \
  --generate-ssh-keys