Megosztás a következőn keresztül:


Oktatóanyag: Alkalmazások telepítése virtuálisgép-méretezési csoportokban az Azure CLI-vel

Ha alkalmazásokat szeretne futtatni egy méretezési csoport virtuálisgép-példányán, először telepítenie kell az alkalmazás összetevőit és szükséges fájljait. Egy korábbi oktatóanyagból megtudhatta, hogyan hozhat létre és használhat egyéni virtuálisgép-rendszerképeket a virtuálisgép-példányok üzembe helyezéséhez. Ez az egyéni rendszerkép tartalmazott manuális alkalmazástelepítéseket és -konfigurációkat. Az egyes virtuálisgép-példányok üzembe helyezése után lehetősége van az alkalmazások méretezési csoportokon történő telepítésének automatizálására, vagy egy a méretezési csoporton már futó alkalmazás frissítésére. Ezen oktatóanyag segítségével megtanulhatja a következőket:

  • Alkalmazások automatikus telepítése a méretezési csoporton
  • Az egyéni Azure-szkriptek bővítményének használata
  • Egy méretezési csoporton futtatott alkalmazás frissítése

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Előfeltételek

  • Ez a cikk az Azure CLI 2.0.29-es vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.

Mi az egyéni Azure-szkriptek bővítménye?

Az egyéni szkriptek bővítménye szkripteket tölt le és futtat az Azure-beli virtuális gépeken. A bővítmény az üzembe helyezést követő konfiguráció, szoftvertelepítés, illetve bármely konfigurációs/felügyeleti feladat végrehajtása során hasznos. A szkriptek az Azure Storage-ből vagy a GitHubról tölthetők le, illetve megadhatók az Azure Portalon a bővítmény futásidejében.

Az egyéni szkriptek bővítménye az Azure Resource Manager-sablonokkal van integrálva, és az Azure CLI -vel, az Azure PowerShell-lel, az Azure Portallal vagy a REST API-val együtt is használható. További információ: Az egyéni szkriptbővítmény áttekintése.

Az egyéni szkriptbővítmény Azure CLI-vel való használatához létre kell hoznia egy JSON-fájlt, amely meghatározza a lekérendő fájlokat és a végrehajtandó parancsokat. Ezek a JSON-definíciók újra felhasználhatók a méretezési csoportok üzembe helyezése során, így konzisztens alkalmazás-telepítés érhető el.

Definíció létrehozása az egyéni szkriptek bővítményéhez

Az egyéni szkriptbővítmény működés közbeni megtekintéséhez hozzon létre egy méretezési csoportot, amely telepíti az NGINX-webkiszolgálót és visszaadja a méretezési csoport virtuálisgép-példányának gazdagépnevét. Az egyéni szkriptek bővítményének alábbi definíciója egy mintaszkriptet tölt le a GitHubról, telepíti a szükséges csomagokat, majd kiírja a virtuálisgép-példány gazdagépnevét egy alapszintű HTML-oldalra.

Az aktuális parancshéjban hozzon létre egy customConfig.json nevű fájlt, és illessze bele a következő konfigurációt. Például hozza létre a fájlt a Cloud Shellben, és ne a helyi gépén. Bármelyik szerkesztőt használhatja. Ebben az oktatóanyagban a VI-t fogjuk használni. Adja megvi a Cloud Shellt. Illessze be az alábbi JSON-t a szerkesztőbe, és írja be a következőt :w customConfig.json:

{
  "fileUris": ["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx.sh"],
  "commandToExecute": './automate_nginx.sh'
}

Feljegyzés

Előfordulhat, hogy a JSON-blokkban lévő egyszeri (') és dupla idézőjelek (") használatát meg kell inverzítenie, ha úgy dönt, hogy közvetlenül hivatkozik a JSON-ra (ahelyett, hogy a customConfig.json fájlra hivatkozik) az alábbi --settings paraméterben.

Méretezési csoport létrehozása

Fontos

2023 novemberétől a PowerShell és az Azure CLI használatával létrehozott virtuálisgép-méretezési csoportok alapértelmezés szerint rugalmas vezénylési módba kerülnek, ha nincs megadva vezénylési mód. A módosítással és a végrehajtandó műveletekkel kapcsolatos további információkért tekintse meg a VMSS PowerShell/CLI-ügyfelek kompatibilitástörő változását – Microsoft Community Hub

Hozzon létre egy erőforráscsoportot az az group create paranccsal. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen:

az group create --name myResourceGroup --location eastus

Most hozzon létre egy virtuálisgép-méretezési csoportot az az vmss create használatával. A következő példa egy myScaleSet nevű méretezési csoportot, valamint SSH-kulcsokat hoz létre, amennyiben azok még nem léteznének:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image Ubuntu2204 \
  --orchestration-mode Flexible \
  --admin-username azureuser \
  --generate-ssh-keys

A méretezési csoport erőforrásainak és virtuális gépeinek létrehozása és konfigurálása néhány percet vesz igénybe.

Az egyéni szkriptbővítmény alkalmazása

Alkalmazza az egyéni szkriptbővítmény konfigurációját a méretezési csoport virtuálisgép-példányain az az vmss extension set paranccsal. Az alábbi példa a customConfig.json konfigurációt alkalmazza a myResourceGroup nevű erőforráscsoportban található myScaleSet virtuálisgép-példányokon:

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

Figyelemfelhívás

A fájlnevek megkülönböztetik a kis- és nagybetűket. A hiba elkerülése érdekében használja az utasításokban megadott pontos fájlnevet.

A bővítmény alkalmazása a meglévő méretezési csoportpéldányokra

Frissítse az összes példányt az egyéni szkript alkalmazásához. A frissítés eltarthat néhány percig.

az vmss update-instances --resource-group myResourceGroup --name myScaleSet --instance-ids "*"

Forgalom engedélyezése a 80-as portra

Ahhoz, hogy a forgalom a terheléselosztón keresztül a virtuális gépekre haladhasson, frissíteni kell az alapértelmezett hálózati biztonsági csoportot.

az network nsg rule create --name AllowHTTP --resource-group myResourceGroup --nsg-name myScaleSetNSG --access Allow --priority 1010 --destination-port-ranges 80 

Méretezési csoport tesztelése

Ha működés közben szeretné megtekinteni a webkiszolgálót, kérje le a terheléselosztó nyilvános IP-címét az az network public-ip show paranccsal. A következő példa a myScaleSetLBPublicIP a méretezési csoport részeként létrehozott IP-címét kéri le:

az network public-ip show \
  --resource-group myResourceGroup \
  --name myScaleSetLBPublicIP \
  --query [ipAddress] \
  --output tsv

Adja meg a terheléselosztó nyilvános IP-címét egy webböngészőben. A terheléselosztó az egyik virtuálisgép-példányra terjeszti a forgalmat, ahogy az a következő példában látható:

Alapszintű weboldal az NGINX-ben

Ne zárja be a böngészőt, hogy megtekinthesse a frissített verziót a következő lépés során.

A frissítési szabályzat módosítása

Az előző szakaszban a frissített alkalmazás minden méretezési csoportpéldányra való alkalmazásához manuális frissítésre volt szükség. Ha azt szeretné, hogy a frissítések automatikusan alkalmazhatók legyenek az összes meglévő méretezési csoportpéldányra, frissítse a frissítési szabályzatot manuálisról automatikusra. A frissítési szabályzatokról további információt a virtuálisgép-méretezési csoportok házirendjeinek frissítési szabályzatai című témakörben talál.

az vmss update \
    --name myScaleSet \
    --resource-group myResourceGroup \
    --set upgradePolicy.mode=automatic

Alkalmazástelepítés frissítése

Az aktuális parancshéjban hozzon létre egy customConfigv2.json nevű fájlt, és illessze bele a következő konfigurációt. A definíció az alkalmazástelepítési szkript frissített (v2) verzióját futtatja:

{
  "fileUris": ["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx_v2.sh"],
  "commandToExecute": "./automate_nginx_v2.sh"
}

Alkalmazza ismét az egyéni szkriptbővítmény konfigurációját a méretezési csoportra az az vmss extension set használatával. A customConfigv2.json nevű sablon az alkalmazás frissített verziójának alkalmazására használatos:

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

Mivel a méretezési csoport most már automatikus frissítési szabályzatot használ, a frissített alkalmazás automatikusan alkalmazva lesz a meglévő méretezési csoportpéldányokra. Frissítse a webböngészőt a frissített alkalmazás megtekintéséhez.

Frissített weboldal az NGINX-ben

Az erőforrások eltávolítása

A méretezési csoport és további erőforrások eltávolításához törölje az erőforráscsoportot és az ahhoz tartozó összes erőforrást az az group delete paranccsal. A --no-wait paraméter visszaadja a vezérlést a parancssornak, és nem várja meg a művelet befejeztét. A --yes paraméter megerősíti, hogy további kérdés nélkül szeretné törölni az erőforrásokat.

az group delete --name myResourceGroup --no-wait --yes

Következő lépések

Ez az oktatóanyag bemutatta, hogy telepíthet és frissíthet alkalmazásokat automatikusan a méretezési csoportban az Azure CLI használatával:

  • Alkalmazások automatikus telepítése a méretezési csoporton
  • Az egyéni Azure-szkriptek bővítményének használata
  • Egy méretezési csoporton futtatott alkalmazás frissítése

A következő oktatóanyag azt mutatja be, hogyan skálázhatja automatikusan a méretezési csoportját.