Alkalmazások telepítése és frissítése a Virtual Machine Scale Sets
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