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 meghatározott állapotokon megy keresztül, amelyeket a státusza é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.

Biztosí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
Előkészítés A változat az ellenőrzési folyamatban van.
Előkészí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 konténeralkalmazás sikeres üzembe helyezése után a verzió megkezdi működési fázisát. 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
Erőforrás-allokálás A változat az ellenőrzési folyamatban van.
Skálázás 0-ra Nincs futó replika, és nem hoz létre ú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 Nincs futó replika, egy replika létrehozás alatt van.
Az aktiválás nem sikerült Az első replika kiépítése nem sikerült.
Skálázás/feldolgozás Skálázás be- vagy kikapcsolása folyamatban van. Egy vagy több replika fut, amíg a többi replika előkészítés alatt áll.
Futás közben Egy vagy több replika fut. Nincs jelentendő probléma.
Futás (maximumon) A replikák maximális száma (a változat méretezési szabályainak megfelelően) fut. Nincs jelentendő probléma.
Hozzáférés megszüntetése A változat aktívról inaktívra vált, és eltávolítja a létrehozott erőforrásokat.
Rosszabbodott állapotú 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űnés
• Kilépési kód 137

Inaktív állapot

A változatok inaktív állapotba is kerülhetnek. Ezek a változatok nem rendelkeznek kiépítési vagy futó állapottal. 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 revízió korlát módosítása (előnézet)

A --max-inactive-revisions paramétert a containerapp create és a containerapp update parancsokkal használhatja a Container Apps által nyomon követett inaktív változatok számának szabályozására.

Először győződjön meg arról, hogy telepítette a Container Apps bővítményt, és engedélyezve vannak az előzetes verziójú funkciók az Azure CLI-hez:

az extension add --name containerapp --upgrade --allow-preview true

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
Egyes Az új változatokat automatikusan kiépítik, aktiválják és a kívánt méretre skálázzák. 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 visszavonásra kerülnek. Igen
Üzembehelyezési címkék (előzetes verzió) Adjon hozzá értelmes neveket (például fejlesztés, előkészítés, prod) adott tárolóváltozatokhoz. A forgalom felosztására és az A/B tesztelésre, az átmeneti kiadás változatainak automatikus felcserélására és az egyszerűsített visszaállításokra használható. Nem
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 . Nem

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 verziók közötti forgalom átváltásához áthelyezheti a címkét egyik verzióról a másikra.

  • A címkék ugyanazt az URL-címet őrzik meg, amikor az egyik változatból a másikba kerülnek.
  • A címke egyszerre csak egy változathoz alkalmazható.
  • 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öbbszörös felülvizsgálati módbanvan.
  • 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 konténeralkalmazás alkalmazás URL-címére érkező forgalmat a verziók között osztja el a forgalom százalékos aránya alapján. 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.

Képernyőkép a Container Apps változatkezeléséről.

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

Képernyőkép a Container Apps verzió részleteiről.

Nulla állásidejű üzembe helyezés

A egy változat mód bekapcsolása esetén 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 beállítása 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 felülvizsgálati mód lehetővé teszi, hogy a felülvizsgálatokat manuálisan kezelje. 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: A forgalom felosztása a változatok között

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áltozatot 1. változatként helyezték üzembe.
  • A tároló frissítése után egy új változatot aktiváltak 2. változat néven.
  • 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öbbszörös változtatás módban szükség szerint aktiválhatja vagy deaktiválhatja a változtatásokat. 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 díjat az inaktív verziókért. 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: változat-hatókörű vagy alkalmazás-hatókörű módosítások. 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 jön létre, amikor frissítik a tárolóalkalmazást a változat hatóköréhez tartozó változtatásokkal. 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
  • Kontejnerkonfiguráció és ké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:

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évutótag

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

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

<CONTAINER_APP_NAME>-<REVISION_SUFFIX>

Ha például van egy album-api nevű konténer alkalmazása, és az first-revision utótagot választja, 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 beállíthatja az ARM-sablonban, az Azure CLI és az containerapp create parancsok segítségével, vagy módosítás létrehozása során az Azure portálon keresztül.

Használati esetek

Az alábbiakban a tárolóalkalmazásokban használt revíziók 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 telepítések

A változatok támogatják a kék-zöld telepítési stratégiát. Két párhuzamos verzióval (az élő verzió kék, az új zöld), fokozatosan bevezethet egy új verziót. 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