Megbízhatóság az Azure Container Instances esetében

Ez a cikk a Azure Container Instances megbízhatósági támogatását ismerteti, amely egyszerű módot kínál Linux- vagy Windows-tárolók futtatására Azure, virtuális gépek (virtuális gépek) kezelése vagy összetettebb, magasabb szintű szolgáltatás bevezetése nélkül.

Az Azure használatakor a megbízhatóság közös felelősség. A Microsoft számos lehetőséget kínál a rugalmasság és a helyreállítás támogatására. Ön a felelős azért, hogy megértse, hogyan működnek ezek a képességek az összes használt szolgáltatáson belül, és válassza ki azokat a képességeket, amelyekre szüksége van az üzleti célok és az üzemidő céljainak eléréséhez.

Ez a cikk azt ismerteti, hogyan lehet Azure Container Instances rugalmassá tenni számos lehetséges kimaradással és problémával szemben, beleértve az átmeneti hibákat, a rendelkezésre állási zónák kimaradásait és a régiókimaradásokat. Kiemeli a Azure Container Instances szolgáltatásiszint-szerződéssel (SLA) kapcsolatos legfontosabb információkat.

A termelési üzembe helyezési javaslatok a megbízhatóság érdekében

A Container Instances operációs alkalmazások megbízhatóságának növelése érdekében javasoljuk a következő műveletek végrehajtását:

A megbízhatósági architektúra áttekintése

A Container Instances használatához üzembe kell helyeznie egy kontainer-csoportot. A tárolócsoportok egy vagy több tárolót tartalmaznak. Minden tároló egy kontainer-rendszerképből jön létre, amelyet egy beállításjegyzékben( például Azure Container Registry tárol.

A tárolócsoport összes tárolója egyetlen logikai egységként van üzembe helyezve, és ugyanazzal a fizikai infrastruktúrával rendelkezik.

Az alábbi ábra a tárolócsoportok, tárolók és képek közötti kapcsolatot mutatja be.

Két tárolóval rendelkező tárolócsoportot ábrázoló diagram. Minden tároló külön lemezképet használ egy beállításjegyzékben.

A képen két tároló látható egy tárolócsoportszakaszon belül. Két pontozott vonal köti össze a konténereket a regisztrációs rész két képrészlegével.

Container Instances a következő szolgáltatásokat nyújtja a tárolócsoportok kezeléséhez:

  • Az NGroups (előzetes verzió) számos képességet biztosít több kapcsolódó tárolócsoport kezeléséhez. NGroup létrehozásakor meg kell határoznia a létrehozandó tárolócsoportok számát. Container Instances olyan képességeket biztosít, mint az automatizált frissítés bevezetése és a tárolócsoportok terjesztése a rendelkezésre állási zónák között.

  • A készenléti készletek létrehoznak egy előre kiosztott tárolócsoportok készletét, amelyek a bejövő forgalomra válaszul használhatók. A készenléti készleteket úgy tervezték, hogy optimalizálják a tárolócsoportok létrehozását, és nem célja a rugalmasság növelése.

Rugalmasság átmeneti hibákhoz

Az átmeneti hibák rövid, időszakos meghibásodások a komponensekben. Gyakran előfordulnak elosztott környezetben, például a felhőben, és ezek a műveletek szokásos részei. Az átmeneti hibák rövid idő elteltével kijavítják magukat. Fontos, hogy az alkalmazások kezelni tudják az átmeneti hibákat, általában az érintett kérések újrapróbálásával.

Minden felhőalapú alkalmazásnak követnie kell az Azure átmeneti hibakezelési útmutatást, amikor a felhőben üzemeltetett API-kkal, adatbázisokkal és más összetevőkkel kommunikálnak. További információ: Átmeneti hibák kezelésére vonatkozó javaslatok.

A Microsoft által biztosított SDK-k általában átmeneti hibákat kezelnek. Mivel saját alkalmazásokat üzemeltet a Container Instances, lépéseket kell tennie az átmeneti hibák esélyének csökkentéséhez:

  • Futtasson több tárolócsoportot a fontos számítási feladatokhoz annak érdekében, hogy egy tároló vagy tárolócsoport meghibásodása ne befolyásolja a teljes alkalmazást.

  • Az alkalmazáskódot úgy hozhatja létre, hogy rugalmas legyen a kapcsolódó szolgáltatások átmeneti hibáival szemben, például újrapróbálkozási szabályzatok és backoff stratégiák használatával.

A futtatókörnyezetben előforduló egyéb hibákról és azok elhárításáról további információt a tárolócsoport futtatókörnyezetének problémái című témakörben talál.

Rugalmasság a rendelkezésre állási zóna hibáival szemben

A rendelkezésre állási zónák fizikailag különálló adatközpont-csoportok egy Azure régión belül. Ha egy zóna meghibásodik, a szolgáltatások a fennmaradó zónák egyikére is át tudnak adni feladatokat.

Container Instances különböző módokon támogatja a rendelkezésre állási zónákat a tárolócsoportok üzembe helyezésétől függően:

  • Manuálisan létrehozott tárolócsoportok: Az egyes tárolócsoportok egy zonális erőforrás, ami azt jelenti, hogy egyetlen kiválasztott rendelkezésre állási zónában helyezhetők üzembe. A csoport összes tárolója ugyanabban a rendelkezésre állási zónában van üzembe helyezve. Ha a rendelkezésre állási zóna leáll, a tárolócsoport és annak összes tárolója leállást tapasztalhat.

    Az alábbi ábrán egy manuálisan üzembe helyezett tárolócsoport látható az 1. rendelkezésre állási zónában:

    Egy olyan tárolócsoportot ábrázoló ábra, amely két tárolót helyez üzembe egyetlen rendelkezésre állási zónában.

    A képen három rendelkezésre állási zóna látható: 1. rendelkezésre állási zóna, 2. rendelkezésre állási zóna és 3. rendelkezésre állási zóna. Az 1. rendelkezésre állási zónában egy tárolócsoport két tárolót tartalmaz.

    Megjegyzés:

    Annak érdekében, hogy az alkalmazás továbbra is fusson, amikor a régió bármely zónájában kimaradás történik, javasoljuk, hogy hozzon létre legalább két tárolócsoportot két különböző rendelkezésre állási zónában.

    Ha nem adja meg a tárolócsoporthoz használandó rendelkezésre állási zónákat, az nem zónaalapú vagy regionális, ami azt jelenti, hogy bármely rendelkezésre állási zónában elhelyezhető a régión belül vagy ugyanazon a zónán belül. Ha a régió bármely rendelkezésre állási zónája problémát tapasztal, a tárolócsoport leállást tapasztalhat.

  • NGroups: Az NGroup üzembe helyezésekor megadhat egy vagy több zónát, amelyben üzembe helyezheti azt. Ha egy NGroup-csoportot két vagy több zónába helyez üzembe, az zónaredundáns NGroup, és egy rendelkezésre állási zóna kimaradása csak az érintett zónán belüli tárolócsoportok problémáit okozza.

    Az alábbi ábrán egy három rendelkezésre állási zónában üzembe helyezett NGroup látható:

    Egy diagram mutat be egy NGroup három tárolócsoporttal, amely három rendelkezésre állási zónába van telepítve.

    A képen három rendelkezésre állási zóna látható. Minden rendelkezésre állási zóna tartalmaz egy tárolócsoportot és két tárolót. Az NGroupdesiredCount=3, zones=1,2,3 feliratú téglalap mindhárom rendelkezésre állási zónára kiterjed.

    Ha nem adja meg az NGroup számára használandó rendelkezésre állási zónákat, az nem zónaalapú, és leállást tapasztalhat, ha a régió bármely rendelkezésre állási zónája problémát tapasztal.

  • Készenléti készletek: Készenléti készlet üzembe helyezésekor megadhat egy vagy több zónát. Előfordulhat, hogy a platform tárolókat kér a kiválasztott zónákban.

    A készenléti készletek azonban nem zónaredundánsak vagy zónareziliensek, mert nincs garancia arra, hogy a konténerek több zónában vannak létrehozva. Zónakimaradás esetén előfordulhat, hogy a medence összes konténere az érintett zónába kerül.

    Mivel a készenléti készleteket nem a zónahibákkal szembeni rugalmasság támogatására tervezték, ez az útmutató nem ismerteti a rendelkezésre állási zónákkal rendelkező készenléti készletek részletes viselkedését.

    Fontos

    A készenléti készleteket nem úgy tervezték, hogy zónaállóak legyenek. Nem használhatók olyan számítási feladatokhoz, amelyek rugalmasságot igényelnek a zónahibákkal szemben.

Requirements

  • Régiótámogatás: A zónaalapú tárolócsoportok üzembe helyezései minden olyan régióban támogatottak, ahol rendelkezésre állási zónák vannak.

  • A zónatelepítések linuxos és Windows Server 2019 tárolócsoportokhoz érhetők el.

  • Rendelkezésre állási zóna kiválasztásához a Standard termékváltozatot kell használnia. A zónás konténercsoportok nem érhetők el a Confidential SKU-val.

Megfontolások

Spot konténerek nem támogatják a rendelkezésre állási zónákat, és mindig nem zonálisak.

Költség

A tárolócsoportok rendelkezésre állási zónáinak konfigurálása nem jár többletköltséggel.

A rendelkezésre állási zóna támogatásának konfigurálása

  • Tárolócsoportok létrehozása rendelkezésre állási zóna támogatásával. A rendelkezésre állási zónák konfigurálásához használt megközelítés a tárolócsoportok létrehozásának módjától függ.

    • Manuálisan létrehozott tárolócsoportok: Ha egy zónacsoportot szeretne létrehozni egy adott zónában, az alábbi módszerek egyikét használhatja:

    • NGroups: Zónaredundáns NGroup üzembe helyezhető egy Bicep fájl vagy ARM-sablon használatával, valamint több zóna megadásával. További információért lásd: NGroups with zones mintapélda.

    • Készenléti készletek: A rendelkezésre állási zónákat használó készenléti készlet üzembe helyezéséhez adjon meg egy vagy több zónát a készlet létrehozásakor vagy frissítésekor. Előfordulhat azonban, hogy a tárolók nem hozhatók létre több zónában. A készenléti készleteket nem szabad olyan számítási feladatokhoz használni, amelyek rugalmasságot igényelnek a zónahibákkal szemben. További információért lásd: Állíts fel egy készenléti készletet a Container Instances számára.

  • A rendelkezésre állási zóna támogatásának engedélyezése meglévő erőforrásokon. A rendelkezésre állási zónák konfigurálásához használt megközelítés a tárolócsoportok létrehozásának módjától függ.

    • Manuálisan létrehozott tárolócsoportok: Nem engedélyezheti a rendelkezésre állási zónákat egy meglévő, nem zónaalapú tárolócsoporton. Törölnie kell a tárolócsoportot, és létre kell hoznia egy zonális tárolócsoportot.

    • NGroups: A rendelkezésre állási zónák nem engedélyezhetők egy meglévő, nem zónaalapú NGroup-csoporton. Törölnie kell az NGroup-t, és létre kell hoznia egy zónaredundáns NGroup-csoportot.

    • Készenléti készletek: Nem engedélyezheti a rendelkezésre állási zónákat egy meglévő, nem zónán kívüli készenléti készleten. Törölnie kell a tárolócsoportot, és létre kell hoznia egy új készenléti készletet, amely több rendelkezésre állási zónát használ.

  • Tárolócsoportok áthelyezése zónák között, vagy a rendelkezésre állási zóna támogatásának letiltása. A rendelkezésre állási zónák módosításának módszere a tárolócsoportok létrehozásának módjától függ.

    • Manuálisan létrehozott tárolócsoportok: A tárolócsoport rendelkezésre állási zónájának módosításához törölnie kell a tárolócsoportot, és létre kell hoznia egy másik tárolócsoportot az új rendelkezésre állási zónával. A tárolócsoport törlésének módjáról az alábbi forrásokból tájékozódhat:

    • NGroups: Zónákat adhat hozzá egy NGroup-hoz, de nem távolíthat el zónákat.

    • Készenléti készletek: Zónákat is hozzáadhat egy készenléti készlethez, de nem távolíthat el zónákat.

Tárolócsoport-elosztás

A tárolócsoportok rendelkezésre állási zónák közötti elosztásának módja a tárolócsoportok üzembe helyezésétől függ.

  • Manuálisan létrehozott tárolócsoportok: Ön a felelős a manuálisan létrehozott tárolócsoportok több rendelkezésre állási zónában való elosztásáért.

  • NGroups: A méretezési műveletek során az NGroups véletlenszerűen törli azokat a példányokat, amelyek esetleg nem tartanak fenn spreadet a rendelkezésre állási zónák között. A vertikális felskálázási műveletek megpróbálják újraegyensúlyba helyezni az eloszlást a zónák között.

  • Készenléti készletek: A készenléti készlet tárolókat hozhat létre a készleten konfigurált rendelkezésre állási zónák bármelyikében. Előfordulhat azonban, hogy a tárolók nem hozhatók létre több zónában. A készenléti készleteket nem szabad olyan számítási feladatokhoz használni, amelyek rugalmasságot igényelnek a zónahibákkal szemben.

Kapacitástervezés és -kezelés

A rendelkezésre állási zóna meghibásodására való felkészüléshez fontolja meg az üzembe helyezett tárolócsoportok számának túlbiztosítását. Ez a megközelítés lehetővé teszi, hogy a megoldás elviseljen némi kapacitásvesztést, és a teljesítmény romlása nélkül működjön tovább. További információ: Kapacitás kezelése túlbontás használatával.

A tárolócsoportok túlbiztosításához alkalmazott megközelítés attól függ, hogy hogyan helyezi üzembe tárolócsoportjait.

  • Manuálisan létrehozott tárolócsoportok: Ön a felelős a manuálisan létrehozott tárolócsoportok kapacitásának megtervezéséért, beleértve azt is, hogy hány tárolócsoportot kell üzembe helyezni az egyes zónákban.

  • NGroup: Fontolja meg az NGroup kapacitásának túlméretezését, hogy képes legyen elviselni egy zóna elvesztését.

  • Készenléti készletek: A készenléti készleteket nem úgy tervezték, hogy rugalmasak legyenek a zónahibákkal szemben. Fontolja meg több készenléti készlet használatát különböző zónákban, vagy használjon NGroup-csoportokat.

Viselkedés, ha minden zóna kifogástalan

Ez a szakasz azt ismerteti, hogy mire számíthat, ha Container Instances erőforrások a rendelkezésre állási zónák támogatásához vannak konfigurálva, és az összes rendelkezésre állási zóna működőképes.

  • Forgalomirányítás zónák között: Ön a felelős a tárolók felé irányuló forgalom irányításáért. Használhatja például a Azure Application Gateway tárolócsoportok átjárójaként és terheléselosztójaként.

    Ha NGroup-okat vagy készenléti készleteket használ, ön felel az egyes tárolók terheléselosztásáért. Emellett konfigurálnia kell a forgalomirányítási rendszert, hogy észlelje az egyes tárolócsoportok állapotát, és szükség esetén átirányítsa a forgalmat egy másik csoportba.

  • Adatreplikálás zónák között: A tárolók és a tárolócsoportok állapot nélküliek. Csatolhatja saját fájlmegosztását, vagy csatlakozhat az alkalmazások adatbázisaihoz vagy más tárolási szolgáltatásaihoz. Önnek kell gondoskodnia arról, hogy ezek a fájlmegosztások és tárolási szolgáltatások zónaállóak legyenek. Tekintse át az egyes szolgáltatások megbízhatósági útmutatóit, hogy megértse, miként tehető zónaszinten ellenállóvá az egyes összetevő.

Viselkedés zónahiba esetén

Ez a szakasz azt ismerteti, hogy mire számíthat, ha Container Instances erőforrások a rendelkezésre állási zónák támogatásához vannak konfigurálva, és a rendelkezésre állási zónák kimaradnak.

  • Észlelés és válasz: A zónahibák észleléséért és a kapcsolódó válaszért való felelősség a tárolócsoportok üzembe helyezésétől függ.

    • Manuálisan létrehozott tárolócsoportok: Észlelnie kell egy rendelkezésre állási zóna elvesztését, és átállást kell kezdeményeznie egy másik rendelkezésre állási zónában Ön által létrehozott másodlagos tárolócsoporthoz.

    • NGroups: A Container Instances platform felelős a rendelkezésre állási zónában fellépő hibák észleléséért és a válaszadásért.

      Ön azonban felelős azért, hogy a forgalom kifogástalan állapotú zónában lévő tárolókhoz legyen irányítva.

    • Állandó készletek: A Container Instances platform nem garantáltan reagál a készenléti készletek zónahibáira. A készenléti készleteket nem szabad olyan számítási feladatokhoz használni, amelyek rugalmasságot igényelnek a zónahibákkal szemben.

  • Értesítés: A Microsoft nem értesíti automatikusan, ha egy zóna le van omlva. A Azure Service Health használatával azonban megismerheti a szolgáltatás általános állapotát, beleértve a zónahibákat is, és beállíthat Service Health-riasztásokat a problémák értesítésére.
  • Aktív kérések: Ha egy zóna meghibásodik, az adott zónában futó összes tároló valószínűleg leáll, beleértve a jelenleg általuk kezelt munkákat is.

  • Várható adatvesztés: Mivel a tárolók és a tárolócsoportok állapot nélküliek, zónahiba miatt nem várható adatvesztés. Ön azonban felelős annak biztosításáért, hogy a számítási feladat minden összetevője zónaálló legyen, beleértve a tárolási szolgáltatásokat és az adatbázisokat is.

  • Várható állásidő: A várható állásidő a zónahibák miatt attól függ, hogyan helyezi üzembe a tárolócsoportokat.

    • Manuálisan létrehozott tárolócsoportok: A zónaalapú tárolócsoportok esetében, ha egy zóna nem érhető el, a tárolócsoport és a tárolók mindaddig nem érhetők el, amíg a rendelkezésre állási zóna helyre nem áll.

    • NGroups: NGroups esetén, ha az egyik zóna lemegy, az alkalmazás továbbra is elérhető marad, mert az NGroups többi tárolócsoportja továbbra is fut más zónákban. Nem várható állásidő.

    • Készenléti készletek: A készenléti készletek nem biztosítják a zóna rugalmasságát. Ha a készenléti készlet összes tárolócsoportja egyetlen zónában található, lehetséges, hogy az összes tárolócsoport és tárolója elérhetetlenné válik, amíg a rendelkezésre állási zóna helyre nem áll.

  • Forgalom átirányítása: Mivel Ön a tárolók felé irányuló forgalom irányításáért felelős, ön is felelős a forgalom átirányításáért, ha egy tárolócsoport egy rendelkezésre állási zóna leállása miatt meghiúsul.

Zóna helyreállítása

A zóna helyreállítása után a Azure platform automatikusan újraindítja a leállított tárolócsoportokat. Nincs szükség az ügyfél beavatkozására.

Zónahibák tesztelése

A tárolócsoportot tartalmazó rendelkezésre állási zóna kimaradását nem lehet szimulálni. Manuálisan azonban konfigurálhat felsőbb rétegbeli átjárókat vagy terheléselosztókat úgy, hogy a forgalmat egy másik rendelkezésre állási zónában lévő másik tárolócsoportba irányítsák át.

Rugalmasság régiószintű hibákhoz

Container Instances egy régiós szolgáltatás. Ha a régió elérhetetlenné válik, a konténerek csoportjai és a konténerek is elérhetetlenek.

Egyéni többrégiós megoldások a rugalmasság érdekében

Külön tárolócsoportokat is üzembe helyezhet több régióban. Ön a felelős a tárolócsoportok üzembe helyezéséért és konfigurálásáért az egyes régiókban. A terheléselosztást egy olyan szolgáltatással is konfigurálnia kell, mint Azure Traffic Manager vagy Azure Front Door. Ön felel minden adatszinkronizálásért, átkapcsolásért és visszakapcsolásért.

Szolgáltatásiszint-szerződés

A Azure szolgáltatások szolgáltatásiszint-szerződése (SLA) leírja az egyes szolgáltatások várható elérhetőségét, valamint azokat a feltételeket, amelyeket a megoldásnak teljesítenie kell az adott rendelkezésre állási elvárás eléréséhez. További információ: SLAs for online services.