Ajánlott aktív-aktív magas rendelkezésre állású megoldás áttekintése az Azure Kubernetes Service -hez (AKS)
Amikor létrehoz egy alkalmazást az Azure Kubernetes Service-ben (AKS), és kiválaszt egy Azure-régiót az erőforrás-létrehozás során, az egyrégiós alkalmazás. Olyan katasztrófa esetén, amely miatt a régió elérhetetlenné válik, az alkalmazás is elérhetetlenné válik. Ha azonos üzembe helyezést hoz létre egy másodlagos Azure-régióban, az alkalmazás kevésbé lesz érzékeny az egyrégiós katasztrófákra, ami garantálja az üzletmenet folytonosságát, és a régiók közötti adatreplikáció lehetővé teszi az utolsó alkalmazásállapot helyreállítását.
Bár az AKS-megoldásokhoz több minta is használható, ez az útmutató az AKS-hez javasolt aktív-aktív magas rendelkezésre állású megoldást ismerteti. Ebben a megoldásban két független és azonos AKS-fürtöt helyezünk üzembe két párosított Azure-régióban, és mindkét fürt aktívan szolgálja a forgalmat.
Feljegyzés
Az alábbi használati eset az AKS-ben szokásos gyakorlatnak tekinthető. Belsőleg áttekintettük, és a Microsoft-partnereinkkel együtt ellenőriztük.
Aktív-aktív magas rendelkezésre állású megoldás áttekintése
Ez a megoldás a forgalom aktív kiszolgálására konfigurált két azonos AKS-fürtre támaszkodik. A két fürt elé helyez egy globális forgalomkezelőt, például az Azure Front Doort, hogy eloszthassa közöttük a forgalmat. Konfigurálnia kell a fürtöket, hogy a megoldás működéséhez szükséges összes alkalmazás egy példányát tárolja.
A rendelkezésre állási zónák egy másik módja annak, hogy magas rendelkezésre állást és hibatűrést biztosítsanak az AKS-fürt számára ugyanabban a régióban. A rendelkezésre állási zónák lehetővé teszik a fürtcsomópontok elosztását egy Azure-régió több elkülönített helyén. Így ha egy zóna áramkimaradás, hardverhiba vagy hálózati probléma miatt leáll, a fürt továbbra is futtathatja és kiszolgálhatja az alkalmazásokat. A rendelkezésre állási zónák emellett javítják a fürt teljesítményét és méretezhetőségét azáltal, hogy csökkentik a csomópontok közötti késést és versengést. Az AKS-fürt rendelkezésre állási zónáinak beállításához meg kell adnia a zónaszámokat a csomópontkészletek létrehozásakor vagy frissítésekor. További információ: Mik az Azure rendelkezésre állási zónái?
Feljegyzés
Számos régió támogatja a rendelkezésre állási zónákat. Fontolja meg a rendelkezésre állási zónákkal rendelkező régiók használatát, hogy nagyobb rugalmasságot és rendelkezésre állást biztosítson a számítási feladatok számára. További információ: Helyreállítás régiószintű szolgáltatáskimaradásból.
Forgatókönyvek és konfigurációk
Ez a megoldás akkor a legjobb, ha állapot nélküli alkalmazásokat üzemeltet, és/vagy más, mindkét régióban üzembe helyezett technológiákkal, például horizontális skálázással. Olyan esetekben, amikor az üzemeltetett alkalmazás csak egy régióban aktívan működő erőforrásokra, például adatbázisokra támaszkodik, javasoljuk, hogy inkább egy aktív-passzív megoldást implementáljon a lehetséges költségmegtakarítás érdekében, mivel az aktív-passzív verzió állásideje több, mint az aktív-aktív.
Összetevők
Az aktív-aktív magas rendelkezésre állású megoldás számos Azure-szolgáltatást használ. Ez a szakasz csak a többfürtes architektúra egyedi összetevőit ismerteti. A fennmaradó összetevőkkel kapcsolatos további információkért tekintse meg az AKS alaparchitektúrát.
Több fürt és régió: Több AKS-fürtöt helyez üzembe, amelyek mindegyike külön Azure-régióban található. A normál műveletek során az Azure Front Door konfigurációja minden régió között irányítja a hálózati forgalmat. Ha egy régió elérhetetlenné válik, a forgalom egy olyan régióba irányítja a forgalmat, amely a felhasználó számára a leggyorsabb betöltési időt biztosítja.
Küllős hálózat régiónként: Minden regionális AKS-példányhoz egy regionális küllős hálózati pár van üzembe helyezve. Az Azure Firewall Manager-szabályzatok minden régióban kezelik a tűzfalszabályzatokat.
Regionális kulcstároló: Az Azure Key Vaultot minden régióban ki kell építenie az AKS-példányra jellemző bizalmas értékek és kulcsok tárolásához, valamint az adott régióban található szolgáltatások támogatásához.
Azure Front Door: Az Azure Front Door terheléselosztja és irányítja a forgalmat egy regionális Azure-alkalmazás átjárópéldányhoz, amely az egyes AKS-fürtök előtt helyezkedik el. Az Azure Front Door lehetővé teszi a hetedik réteg globális útválasztását.
Log Analytics: A regionális Log Analytics-példányok regionális hálózati metrikákat és diagnosztikai naplókat tárolnak. A megosztott példányok az összes AKS-példány metrikáit és diagnosztikai naplóit tárolják.
Tárolóregisztrációs adatbázis: A számítási feladat tárolólemezképei egy felügyelt tárolóregisztrációs adatbázisban vannak tárolva. Ezzel a megoldással egyetlen Azure Container Registry-példányt használunk a fürt összes Kubernetes-példányához. Az Azure Container Registry georeplikálásával a rendszerképeket a kiválasztott Azure-régiókba replikálhatja, és folyamatos hozzáférést biztosít a képekhez még akkor is, ha egy régió leállást tapasztal.
Feladatátvételi folyamat
Ha egy szolgáltatás vagy szolgáltatásösszetevő elérhetetlenné válik egy régióban, a forgalmat egy olyan régióba kell irányítani, ahol a szolgáltatás elérhető. A többrégiós architektúra számos különböző hibapontot tartalmaz. Ebben a szakaszban a lehetséges hibapontokat mutatjuk be.
Alkalmazás podok (regionális)
A Kubernetes üzembehelyezési objektuma egy pod (ReplicaSet) több replikáját hozza létre. Ha az egyik nem érhető el, a forgalom a többi replika között lesz irányítva. A Kubernetes ReplicaSet megkísérli a megadott számú replika működését. Ha egy példány leáll, újra létre kell hozni egy új példányt. Az élőség-mintavételek ellenőrizhetik a podon futó alkalmazás vagy folyamat állapotát. Ha a pod nem válaszol, az élőség-mintavétel eltávolítja a podot, ami arra kényszeríti a ReplicaSetet , hogy hozzon létre egy új példányt.
További információ: Kubernetes ReplicaSet.
Alkalmazás podok (globális)
Amikor egy teljes régió elérhetetlenné válik, a fürt podjai már nem érhetők el a kérések kiszolgálására. Ebben az esetben az Azure Front Door-példány az összes forgalmat a többi állapotrégióba irányítja. Ezekben a régiókban a Kubernetes-fürtök és podok továbbra is kiszolgálják a kéréseket. A fennmaradó fürt felé irányuló megnövekedett forgalom és kérések kompenzálásához tartsa szem előtt az alábbi útmutatást:
- Győződjön meg arról, hogy a hálózati és számítási erőforrások megfelelő méretűek ahhoz, hogy elnyeljék a régió feladatátvétele miatti hirtelen forgalomnövekedést. Az Azure Container Network Interface (CNI) használatakor például győződjön meg arról, hogy rendelkezik olyan alhálózattal, amely támogatja a kiugró forgalommal rendelkező pod IP-címeket.
- A podreplikák számának növeléséhez használja a Vízszintes pod automatikus skálázót a megnövekedett regionális kereslet kompenzálásához.
- Az AKS-fürt automatikus skálázási funkciójának használatával növelheti a Kubernetes-példány csomópontszámát a megnövekedett regionális kereslet kompenzálásához.
Kubernetes-csomópontkészletek (regionális)
Időnként előfordulhat, hogy honosított hiba történik a számítási erőforrásoknál, például az energia elérhetetlenné válik egyetlen Azure-kiszolgálói állványon. Ha meg szeretné védeni az AKS-csomópontokat attól, hogy egy pont regionális hiba legyen, használja az Azure Rendelkezésre állási zónákat. A rendelkezésre állási zónák biztosítják, hogy az egyes rendelkezésre állási zónák AKS-csomópontjai fizikailag elkülönüljenek a más rendelkezésre állási zónákban meghatározottaktól.
Kubernetes-csomópontkészletek (globális)
Teljes regionális hiba esetén az Azure Front Door a fennmaradó kifogástalan állapotú régiókba irányítja a forgalmat. Ügyeljen arra, hogy a fennmaradó fürt felé irányuló megnövekedett forgalmat és kéréseket kompenzálja.
Feladatátvételi tesztelési stratégia
Bár az AKS-ben jelenleg nem érhetők el mechanizmusok az üzembe helyezés teljes régiójának tesztelési célokra történő levételéhez, az Azure Chaos Studio lehetővé teszi, hogy káoszkísérletet hozzon létre a fürtön.
Következő lépések
Ha más megoldást fontolgat, tekintse meg az alábbi cikkeket:
Azure Kubernetes Service