Alkalmazások telepítése és frissítése a Virtual Machine Scale Sets

Befejeződött

Amikor egy alkalmazást egy méretezési csoportban helyez üzembe, olyan mechanizmusra van szüksége, amely folyamatosan frissíti az alkalmazást a méretezési csoport összes példányában. Ezt az eredményt egyéni szkriptbővítménnyel érheti el.

A szállítmányozási vállalat esetében gyors, ugyanakkor a végfelhasználók számára a legkevesebb megszakítást okozó módszerre van szüksége az alkalmazás frissítéseinek végrehajtásához. Ideális megoldás egy egyéni szkriptbővítmény.

Ebben a leckében megtanulhatja, hogyan használható egyéni szkriptbővítmény olyan alkalmazás frissítésére, amely méretezési csoportban fut.

Mi az az egyéni Azure-szkriptbővítmény?

Az egyéni Azure-szkriptbővítmények egy szkriptet töltenek le és futtatnak egy Azure-beli virtuális gépen. Képesek automatizálni ugyanazokat a feladatokat egy méretezési csoport összes virtuális gépén.

Egyéni szkripteket az Azure Storage-ban vagy a GitHubon tárolhat. Az Azure Portal használatával adhatja őket hozzá egy virtuális géphez. Egyéni szkripteket úgy futtathat egy sablonalapú üzembe helyezés részeként, hogy az egyéni szkriptbővítményt Azure Resource Manager-sablonokkal kombinálja.

Alkalmazás telepítése méretezési csoportban egyéni szkriptbővítmény használatával

Ha egyéni szkriptbővítményt szeretne használni az Azure CLI-vel, létre kell hoznia egy konfigurációs fájlt, amely meghatározza a lekérendő fájlokat és a futtatandó parancsokat. Ez a fájl JSON-formátumú.

Az alábbi példa egyéni szkriptkonfigurációt mutat be, amely letölt egy alkalmazást a GitHubon lévő adattárból, majd egy custom_application_v1.sh nevű szkript futtatásával telepíti azt egy gazdapéldányon:

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

Ha ezt a konfigurációt a méretezési csoportban szeretné üzembe helyezni, egyéni szkriptbővítményt fog használni. Az alábbi kód bemutatja, hogyan hozhat létre egyéni szkriptbővítményt egy virtuálisgép-méretezési csoporthoz az Azure CLI használatával. Ez a parancs a méretezési csoportban lévő összes virtuális gépre telepíti az új alkalmazást:

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

Alkalmazás frissítése méretezési csoportban egyéni szkriptbővítmény használatával

Egyéni szkriptbővítmény használatával frissíthet egy meglévő alkalmazást egy virtuálisgép-méretezési csoportban. Hivatkozni fog egy frissített üzembehelyezési szkriptre, majd újra alkalmazza a bővítményt a méretezési csoportra. Az alábbi JSON-kód például olyan konfigurációt mutat be, amely az alkalmazás egy új verzióját kéri le és telepíti:

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

A frissített alkalmazás üzembe helyezéséhez használhatja az vmss extension set a korábban bemutatott parancsot, de ezúttal az új konfigurációs fájlra fog hivatkozni:

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

A virtuális gépek a méretezési csoport frissítési szabályzatának megfelelően lesznek frissítve. Ezt a szabályzatot a méretezési csoport első létrehozásakor fogja megadni. A frissítési szabályzat üzemmódja az alábbi három egyike lehet:

  • Automatikus: A méretezési csoport nem határozza meg a virtuális gépek frissítésének időpontját. Lehetséges, hogy mindegyik egyszerre lesz frissítve, ez pedig a szolgáltatás kimaradásával jár.
  • Működés közbeni: A méretezési csoport kötegekben alkalmazza a frissítést a méretezési csoport virtuális gépein. A nem kötelezően megadható szünet minimalizálhatja vagy kiiktathatja a szolgáltatáskimaradást. Ebben az üzemmódban a méretezési csoportban lévő gépeken rövid ideig az alkalmazás különböző verziói futhatnak. Ez az üzemmód megköveteli, hogy állapotfigyelőt adjon a méretezési csoporthoz, vagy alkalmazza rá az alkalmazásállapot-figyelő bővítményt.
  • Manuális: A méretezési csoportban meglévő virtuális gépek nincsenek frissítve. Minden módosítást manuálisan kell elvégezni. Ez az alapértelmezett mód.

A virtuálisgép-méretezési csoport kiépítésekor a frissítési szabályzat módjának megadásához használja a upgrade-policy-mode lehetőséget. Az alábbi példakód az Azure CLI-t használja:

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