Módosítások frissítése és üzembe helyezése az Azure Container Appsben

A változáskezelés kihívást jelenthet, amikor tárolóalapú alkalmazásokat fejleszt a felhőben. Végső soron szüksége van a támogatásra a változások nyomon követéséhez, az üzemidő biztosításához és a zökkenőmentes visszaállítás kezelésére szolgáló mechanizmusokkal.

Az Azure Container Apps változáskezelését változatok hajtják, amelyek a tárolóalkalmazás minden verziójának pillanatképét képezik.

A változatok fő jellemzői a következők:

  • Nem módosítható: Miután létrejött, a változat változatlan marad.

  • Verziószámozott: A változatok a tárolóalkalmazás verzióinak rekordjaként működnek, és különböző szakaszokban rögzítik az állapotát.

  • Automatikus kiépítés: Amikor először helyez üzembe egy tárolóalkalmazást, a rendszer automatikusan létrehozza a kezdeti változatot.

  • Hatókörön belüli módosítások: Bár a változatok statikusak maradnak, az alkalmazás hatókörének módosítása hatással lehet az összes változatra, míg a korrektúra-hatókör módosításai új változatot hoznak létre.

  • Előzményrekord: Alapértelmezés szerint 100 inaktív változathoz férhet hozzá, de ezt a küszöbértéket manuálisan is módosíthatja.

  • Több változat: Egyszerre több változatot is futtathat. Ez a funkció különösen hasznos, ha egyszerre kell kezelnie az alkalmazás különböző verzióit.

Életciklus

Minden változat adott állapoton megy keresztül, amelyet az állapota és a rendelkezésre állása befolyásol. Az életciklusa során a tárolóalkalmazások különböző kiépítési, futási és inaktív állapoton mennek keresztül.

Kiépítés állapota

Új változat létrehozásakor a tárolóalkalmazás indítási és készenléti ellenőrzéseken megy keresztül. Ebben a fázisban a kiépítési állapot útmutatóként szolgál a tárolóalkalmazás előrehaladásának nyomon követéséhez.

Állapot Leírás
A szolgáltatás biztosítása A változat az ellenőrzési folyamatban van.
Kiépítve A változat sikeresen teljesítette az összes ellenőrzést.
Üzembe helyezés sikertelen A változat problémákat észlelt az ellenőrzés során.

Futó állapot

A tárolóalkalmazás sikeres üzembe helyezése után a változat belép a működési fázisába. A futó állapot segít a tárolóalkalmazás állapotának és működésének monitorozásában.

Állapot Leírás
A szolgáltatás biztosítása A változat az ellenőrzési folyamatban van.
Skálázás 0-ra Nincs futó replika, és nem épít ki új replikákat. A tárolóalkalmazás létrehozhat új replikákat, ha a méretezési szabályok aktiválódnak.
Aktiválás Nulla futó replika, egy replika kiépítés alatt áll.
Az aktiválás nem sikerült Az első replika kiépítése nem sikerült.
Skálázás/feldolgozás A horizontális fel- vagy kiskálázás folyamatban van. Egy vagy több replika fut, míg a többi replika ki van építve.
Futó Egy vagy több replika fut. Nincsenek jelentési problémák.
Futtatás (max.) A replikák maximális száma (a változat méretezési szabályainak megfelelően) fut. Nincsenek jelentési problémák.
Leépítés A változat aktívról inaktívra vált, és eltávolítja a létrehozott erőforrásokat.
Csökkentett teljesítményű A változatban legalább egy replika meghibásodott állapotban van. Adott problémák futó állapotadatainak megtekintése.
Sikertelen A kritikus hibák miatt a korrektúra sikertelen volt. A futó állapot részletes információkat tartalmaz. A gyakori kiváltó okok között a következőket találjuk:
•Megszüntetése
• Kilépési kód 137

Inaktív állapot

A változatok inaktív állapotot is megadhatnak. Ezek a változatok nem rendelkeznek kiépítési vagy futó állapotokkal. Az Azure Container Apps azonban fenntartja a változatok listáját, amely legfeljebb 100 inaktív bejegyzést tartalmaz. A változatot bármikor aktiválhatja.

Inaktív változat korlátjának módosítása

A paraméterrel vagy containerapp update parancsokkal containerapp create szabályozhatja --max-inactive-revisions a Container Apps által nyomon követett inaktív változatok számát.

Ez a példa bemutatja, hogyan hozhat létre új tárolóalkalmazást, amely 50 inaktív változatot követ nyomon:

az containerapp create --max-inactive-revisions 50

Változatmódok

Az Azure Container Apps két változatmódot támogat. A választott mód határozza meg, hogy az alkalmazás hány változata aktív egyszerre.

Változatmódok Leírás Alapértelmezett
Egyszeres Az új változatok automatikusan kiépítve, aktiválva és skálázva lesznek a kívánt méretre. Ha az összes replika a méretezési szabály által meghatározott módon fut, a rendszer átirányítja a forgalmat a régi verzióról az újra. Ha egy frissítés meghiúsul, a forgalom a régi változatra mutat. A régi változatok automatikusan megszűnnek. Igen
Többszörös Több aktív változatot is használhat, feloszthatja a forgalmat a változatok között, és kiválaszthatja, hogy mikor szeretné megszüntetni a régi változatokat. Ez a vezérlési szint hasznos az alkalmazások több verziójának teszteléséhez, a kék-zöld teszteléshez vagy az alkalmazásfrissítések teljes felügyeletéhez. További részletekért tekintse meg a forgalom felosztását .

Címkék

Külső HTTP-forgalmat használó tárolóalkalmazások esetén a címkék adott változatokra irányítják a forgalmat. A címke egy egyedi URL-címet biztosít, amellyel a forgalmat a címke által hozzárendelt változathoz irányíthatja.

A korrektúrák közötti forgalom váltásához áthelyezheti a címkét egyik változatból a másikba.

  • A címkék ugyanazt az URL-címet őrzik meg, amikor az egyik változatból a másikba kerülnek.
  • A címkék egyszerre csak egy változatra alkalmazhatók.
  • A címkékkel ellátott változatok esetében nincs szükség a forgalom felosztására.
  • A címkék akkor hasznosak, ha az alkalmazás több változat módban van.
  • Engedélyezheti a címkéket, a forgalom felosztását vagy mindkettőt.

A címkék hasznosak az új változatok teszteléséhez. Ha például hozzáférést szeretne adni a tesztfelhasználók egy csoportjához, megadhatja nekik a címke URL-címét. Ezután, ha át szeretné helyezni a felhasználókat egy másik változatba, áthelyezheti a címkét erre a változatra.

A címkék a forgalom felosztásától függetlenül működnek. A forgalom felosztása a forgalom százalékos aránya alapján osztja el a tárolóalkalmazás alkalmazás URL-címére irányuló forgalmat a változatok között. Ha a forgalom egy címke URL-címére irányul, a forgalom egy adott változatra lesz irányítva.

A címkenévnek a következőnek kell lennie:

  • Kisbetűs alfanumerikus karakterekből vagy kötőjelekből áll (-)
  • Betűrendes karakterrel kezdődik
  • Alfanumerikus karakterrel végződik

A címkék nem lehetnek:

  • Két egymást követő kötőjel (--)
  • 64 karakternél hosszabb

A címkéket a tárolóalkalmazás változatkezelési oldaláról kezelheti az Azure Portalon.

Screenshot of Container Apps revision management.

A címke URL-címe a változat részletei panelen érhető el.

Screenshot of Container Apps revision details.

Nulla állásidejű üzembe helyezés

Egyetlen változat módban a Container Apps biztosítja, hogy az alkalmazás ne tapasztaljon állásidőt új változat létrehozásakor. A meglévő aktív változat nincs inaktiválva, amíg az új változat el nem készül.

Ha engedélyezve van a bejövő forgalom, a meglévő változat továbbra is a forgalom 100%-át kapja, amíg az új változat el nem készül.

Az új változat akkor tekinthető késznek, ha:

  • A változat kiépítése sikeresen megtörtént
  • A változat felskálázott a korábbi változatok replikaszámának megfelelően (figyelembe véve az új változat minimális és maximális replikaszámát)
  • Az összes replika sikeresen teljesítette az indítási és készenléti mintavételeket

Több változat módban szabályozhatja, hogy a változatok aktiválva vagy inaktiválva legyenek, és hogy mely változatok fogadják a bejövő forgalmat. Ha a forgalom felosztási szabálya beállítással latestRevisiontruevan konfigurálva, a forgalom addig nem vált a legújabb változatra, amíg el nem készül.

Több változattal végzett munka

Bár az egyetlen változat mód az alapértelmezett, néha érdemes lehet teljes mértékben szabályozni a változatok kezelését.

A több változat mód lehetővé teszi, hogy manuálisan kezelje a változatot. A több változat mód használatával például eldöntheti, hogy pontosan mekkora forgalom van lefoglalva az egyes változatokhoz.

Forgalom felosztása

Az alábbi ábrán egy két változattal rendelkező tárolóalkalmazás látható.

Azure Container Apps: Traffic splitting among revisions

Ez a forgatókönyv feltételezi, hogy a tárolóalkalmazás a következő állapotban van:

  • A bejövő forgalom engedélyezve van, így a tárolóalkalmazás HTTP-en vagy TCP-en keresztül érhető el.
  • Az első változat az 1. változatként lett üzembe helyezve.
  • A tároló frissítése után egy új változat 2. változatként lett aktiválva.
  • A forgalomeloszlási szabályok úgy vannak konfigurálva, hogy az 1. változat megkapja a kérelmek 80%-át, a 2. változat pedig a fennmaradó 20%-ot.

Közvetlen változathozzáférés

Ahelyett, hogy útválasztási szabályt használna a forgalom változatra való átirányításához, érdemes lehet egy változatot elérhetővé tenni egy adott URL-címre vonatkozó kérések számára. A több változat mód lehetővé teszi, hogy a tartományba érkező összes kérést a legújabb változatra küldje, míg a régebbi változatra vonatkozó kérések a címkéken keresztül érhetők el a közvetlen hozzáférés érdekében.

Aktiválási állapot

Több változat módban szükség szerint aktiválhatja vagy inaktiválhatja a változatokat. Az aktív változatok működőképesek, és képesek kezelni a kéréseket, míg az inaktív változatok alvó állapotban maradnak.

A Container Apps nem számít fel inaktív változatokat. A rendelkezésre álló változatok teljes száma azonban korláttal rendelkezik, és a legrégebbi változatok törlődnek, ha túllépi a 100-es számot.

Változástípusok

A tárolóalkalmazások módosításai két kategóriába sorolhatók: a változat-hatókör vagy az alkalmazás hatókörének módosítása. A korrektúra-hatókör módosításai új változatot aktiválnak az alkalmazás üzembe helyezésekor, míg az alkalmazás hatókörének módosításai nem.

A Változat hatókörének módosításai

Egy új változat akkor jön létre, ha egy tárolóalkalmazást frissít a változat hatókörének változásaival. A módosítások csak arra a változatra korlátozódnak, amelyben üzembe helyezték őket, és nem érintik a többi változatot.

A módosítási hatókör módosítása a tárolóalkalmazás erőforrássablonjának szakaszában található properties.template paraméterek bármilyen módosítása.

Ezek a paraméterek a következők:

  • Változat utótagja
  • Tárolókonfiguráció és rendszerképek
  • A tárolóalkalmazás skálázási szabályai

Alkalmazás hatókörének módosításai

Ha alkalmazáshatókör-módosításokkal rendelkező tárolóalkalmazást helyez üzembe:

  • A módosításokat a rendszer globálisan alkalmazza az összes változatra.
  • A rendszer nem hoz létre új változatot.

Az alkalmazás hatókörének módosítása a tárolóalkalmazás-erőforrássablon szakaszában található properties.configuration paraméterek bármilyen módosításaként van definiálva.

Ezek a paraméterek a következők:

  • Titkos értékek (a változatokat újra kell indítani, mielőtt egy tároló felismerné az új titkos értékeket)
  • Változat mód
  • Bejövő forgalom konfigurációja, beleértve a következőket:
  • Hitelesítő adatok privát tárolóregisztrációs adatbázisokhoz
  • Dapr-beállítások

Változatok testreszabása

A változat nevét és címkéit testre szabhatja, hogy jobban igazodjon az elnevezési konvenciókhoz vagy a verziószámozási stratégiához.

Név utótagja

A Container Apps minden változatához egyedi azonosító van hozzárendelve. Bár a nevek automatikusan létrejönnek, személyre szabhatja a változat nevét.

A korrektúranév tipikus formátuma a következő:

<CONTAINER_APP_NAME>-<REVISION_SUFFIX>

Ha például egy album-api nevű tárolóalkalmazással rendelkezik, és az első változat utótagja mellett dönt, a teljes változat neve album-api-first-revision lesz.

A változat utótagjának neve:

  • Csak kisbetűs alfanumerikus karakterekből vagy kötőjelekből áll (-)
  • Betűrendes karakterrel kezdődik
  • Alfanumerikus karakterrel végződik

A nevek nem lehetnek:

  • Két egymást követő kötőjel (--)
  • 64 karakternél hosszabb

A változat utótagját az ARM-sablonban, az Azure CLI-n az containerapp create és az containerapp update a parancsokon keresztül, vagy a változat Azure Portalon történő létrehozásakor állíthatja be.

Használati esetek

Az alábbiakban a tárolóalkalmazásokban használt változatok gyakori használati eseteit ismertetjük. Ez a lista nem tartalmazza a Container Apps-változatok használatának célját vagy képességeit.

Kiadáskezelés

A változatok leegyszerűsítik az alkalmazás új verzióinak bevezetésének folyamatát. Ha készen áll egy frissítés vagy egy új funkció bevezetésére, létrehozhat egy új változatot anélkül, hogy az hatással van az aktuális élő verzióra. Ez a megközelítés zökkenőmentes átmenetet biztosít, és minimálisra csökkenti a végfelhasználók fennakadásait.

Visszaállítás korábbi verziókra

Néha gyorsan vissza kell térnie az alkalmazás egy korábbi, stabil verziójára. Szükség esetén visszatérhet a tárolóalkalmazás egy korábbi változatához.

A/B tesztelés

Ha az alkalmazás különböző verzióit szeretné tesztelni, a változatok támogathatják az A/B-tesztelést. A felhasználók egy részét átirányíthatja egy új változathoz, visszajelzéseket gyűjthet, és valós adatok alapján megalapozott döntéseket hozhat.

Kék-zöld környezetek

A változatok támogatják a kék-zöld üzembe helyezési stratégiát. Két párhuzamos változattal (az élő verzióhoz kék, az újhoz pedig zöld) fokozatosan fázisba helyezheti az új változatot. Ha biztos az új verzió stabilitásában és teljesítményében, teljes mértékben átválthatja a forgalmat a zöld környezetre.

Következő lépések