Scénáře dostupnosti pro Službu Azure Kubernetes Service (AKS) aktivované službou Azure Arc v místním prostředí Azure se dvěma uzly
Platí pro: Azure Stack HCI verze 22H2
Tento článek popisuje architekturu pro nasazení clusteru Kubernetes do místního clusteru Azure se dvěma uzly. Tento článek popisuje různé scénáře selhání, ke kterým může dojít, jejich dopad na cluster a obnovitelnost těchto scénářů selhání.
Architektura
Tradiční nasazení Kubernetes vyžadují ke zmírnění jediného selhání tři fyzické počítače. Tento požadavek obvykle znamená vyšší celkové náklady na vlastnictví (TCO). V případě nasazení citlivých na náklady je možné AKS povolené službou Arc nasadit v místním systému Azure se dvěma uzly, jak je znázorněno níže, s několika kompromisy v dostupnosti. Tyto kompromisy jsou popsány ve scénářích dostupnosti a jejich dopad na cluster AKS se dvěma uzly.
Další informace o architektuře, strategiích nasazení clusteru, aspektech spolehlivosti a optimalizaci nákladů pro AKS najdete v základní architektuře služby Azure Kubernetes Service (AKS).
Terminologie
Tento článek používá následující terminologii:
Pojem | definice |
---|---|
Fyzický místní hostitel Azure | Fyzický uzel místního clusteru Azure, který je hostitelem virtuálních počítačů potřebných ke spuštění AKS povoleného službou Arc. |
Guest OS | Operační systém spuštěný uvnitř virtuálního počítače řídicí roviny, virtuálního počítače nástroje pro vyrovnávání zatížení nebo virtuálních počítačů fondu uzlů. |
Clustering s podporou převzetí služeb při selhání | Clustering s podporou převzetí služeb při selhání pro místní Azure a Windows Server poskytuje funkce infrastruktury, které podporují vysokou dostupnost virtuálních počítačů a aplikací. Pokud uzel nebo služba clusteru selže, můžou se virtuální počítače nebo aplikace hostované na daném uzlu automaticky nebo ručně přenést do jiného dostupného uzlu v procesu označovaného jako převzetí služeb při selhání. |
Cluster úloh | Cluster Kubernetes nasazený službou Azure Kubernetes Service (AKS) pro hostování kontejnerizované aplikace nebo úlohy koncového uživatele, označovaný také jako cílový cluster. |
Cluster pro správu (hostitel AKS) | Poskytuje základní mechanismus orchestrace a rozhraní pro nasazení a správu jednoho nebo více clusterů úloh. Cluster pro správu obsahuje jeden virtuální počítač řídicí roviny. |
Load Balancer | Jeden vyhrazený virtuální počítač s Linuxem s pravidlem vyrovnávání zatížení pro server rozhraní API. |
Server rozhraní API | Umožňuje interakci s clusterem Kubernetes a poskytuje interakci s nástroji pro správu, jako jsou Windows Admin Center, moduly PowerShellu a kubectl . |
CRUD | Operace vytvoření, čtení, aktualizace a odstranění |
Scénáře dostupnosti a jejich dopad na cluster AKS se dvěma uzly
Škálovaná architektura v místním nasazení Azure se dvěma fyzickými uzly zahrnuje určité kompromisy mezi dostupností. Tato část popisuje chování uzlů v následujících režimech selhání a během aktualizací:
- Aktualizace
- Selhání hardwaru hostitele
- Selhání hostitelského operačního systému
- Selhání virtuálního počítače roviny správy
- Selhání virtuálního počítače řídicí roviny
- Selhání fondu uzlů (pracovního uzlu)
- Selhání virtuálního počítače nástroje pro vyrovnávání zatížení
Aktualizace
Pomocí následující tabulky můžete určit potenciální dopad aktualizací Azure Local a AKS na úlohy:
Existující úlohy | CRUD v clusterech úloh | Nový životní cyklus clusteru úloh | Dostupnost serveru rozhraní API |
---|---|---|---|
Bez přerušení | Bez přerušení | Bez přerušení | Bez přerušení |
Aktualizace s podporou clusteru v místním prostředí Azure za provozu migruje pracovní uzly do druhého uzlu před restartováním. Během této migrace se aplikace nenaruší. | Aktualizace s podporou clusteru v místním prostředí Azure za provozu migruje virtuální počítač řídicí roviny clusteru úloh do druhého uzlu před restartováním. Stávající úlohy je možné škálovat bez přerušení během aktualizace. | Aktualizace s podporou clusteru v místním prostředí Azure za provozu migruje virtuální počítač řídicí roviny clusteru pro správu do druhého uzlu před restartováním. Nové úlohy je možné vytvářet bez přerušení během aktualizace. | Aktualizace s podporou clusteru v místním prostředí Azure za provozu migruje virtuální počítač řídicí roviny clusteru úloh do druhého uzlu před restartováním. Cluster serveru ROZHRANÍ API zůstane během aktualizace dostupný. |
Selhání hardwaru na hostiteli
Fyzický hostitel, na kterém běží virtuální počítače hostující uzly Kubernetes, může přestat fungovat kvůli problémům s hardwarem nebo může být rozdělený do sítě.
Pomocí následující tabulky můžete určit potenciální dopad selhání hostitelského hardwaru na úlohy.
Existující úlohy | CRUD v clusterech úloh | Nový životní cyklus clusteru úloh | Dostupnost serveru rozhraní API |
---|---|---|---|
Potenciální přerušení + Automatické obnovení |
Potenciální přerušení + Automatické obnovení |
Potenciální přerušení + Automatické obnovení |
Potenciální přerušení + Automatické obnovení |
Stávající úlohy se budou dál spouštět bez přerušení, pokud: – Pracovní uzly jsou na samostatných hostitelích. – Aplikace definovala alespoň dvě repliky se zadaným parametrem podAntiAffinity .Pokud má aplikace závislost na externí virtuální IP adrese (VIP) serveru rozhraní API, dojde k přerušení. |
Pokud se virtuální počítač řídicí roviny clusteru úloh nachází na hostiteli, u kterého došlo ke snížení kapacity, úlohy se nebudou škálovat. Přidání nových pracovních uzlů a škálování podů nebude fungovat. | Pokud se virtuální počítač řídicí roviny clusteru pro správu nachází na hostiteli, který se zpomaloval, není možné vytvořit nové clustery. Škálování existujících clusterů nebude fungovat. | Pokud se virtuální počítač řídicí roviny clusteru úloh nebo virtuální počítač nástroje pro vyrovnávání zatížení nachází na hostiteli, u kterého došlo k výpadku, server rozhraní API není dostupný. |
Pokud jsou pracovní uzly na stejném fyzickém hostiteli, clustering s podporou převzetí služeb při selhání převezme služby při selhání pracovních uzlů na přeživším hostiteli. Pokud se aplikace nevytvořila s anti-spřažením, Kubernetes přesune pod do existujícího pracovního uzlu. Pokud aplikace závisí na serveru rozhraní API a virtuální počítač řídicí roviny nebo virtuální počítač nástroje pro vyrovnávání zatížení clusteru úloh přestane fungovat, clustering s podporou převzetí služeb při selhání tyto virtuální počítače přesune na přeživšího hostitele a aplikace obnoví fungování. V závislosti na tom, jak aplikace zpracovává ztrátu serveru rozhraní API, se můžou pody restartovat na novém hostiteli. |
Clustering s podporou převzetí služeb při selhání převezme virtuální počítač řídicí roviny clusteru úloh hostiteli, který je v pořádku. Po převzetí služeb při selhání je možné škálovat úlohy. | Clustering s podporou převzetí služeb při selhání převezme virtuální počítač řídicí roviny clusteru pro správu na hostiteli, který je v pořádku. Po převzetí služeb při selhání fungují operace CRUD na nových cílových clusterech. | Clustering s podporou převzetí služeb při selhání převezme virtuální počítač řídicí roviny clusteru úloh na hostiteli, který je v pořádku. Po převzetí služeb při selhání je server rozhraní API dostupný. |
Selhání hostitelského operačního systému
Fyzický hostitel, na kterém běží virtuální počítače hostující uzly Kubernetes, může mít problém se softwarem v operačním systému a způsobit selhání.
Pomocí následující tabulky můžete určit potenciální dopad selhání hostitelského operačního systému na úlohy.
Existující úlohy | CRUD v clusterech úloh | Nový životní cyklus clusteru úloh | Dostupnost serveru rozhraní API |
---|---|---|---|
Potenciální přerušení + Automatické obnovení |
Potenciální přerušení + Automatické obnovení |
Potenciální přerušení + Automatické obnovení |
Potenciální přerušení + Automatické obnovení |
Stávající úlohy se budou dál spouštět bez přerušení, pokud: – Pracovní uzly jsou na samostatných hostitelích. – Aplikace definovala alespoň dvě repliky se zadaným parametrem podAntiAffinity .Pokud má aplikace závislost na externí virtuální IP sadě serveru rozhraní API, dojde k přerušení. |
Pokud se virtuální počítač řídicí roviny v cílovém clusteru nachází na hostiteli se selháním operačního systému, přidání nových pracovních uzlů a škálování podů nebude fungovat. | Pokud se virtuální počítač řídicí roviny clusteru pro správu nachází na hostiteli se selháním operačního systému, nebudou se vytvářet nové clustery a stávající clustery se nedají škálovat. | Pokud se virtuální počítač řídicí roviny nachází na hostiteli se selháním operačního systému, server rozhraní API nebude dostupný. |
Pokud jsou pracovní uzly na stejném fyzickém hostiteli, clustering s podporou převzetí služeb při selhání převezme služby při selhání pracovních uzlů na přeživším hostiteli. Pokud se aplikace nevytvořila s anti-spřažením, Kubernetes přesune pod do existujícího pracovního uzlu. Pokud je aplikace závislá na serveru rozhraní API a virtuální počítač řídicí roviny nebo virtuální počítač nástroje pro vyrovnávání zatížení clusteru úloh se vypne, clustering s podporou převzetí služeb při selhání tyto virtuální počítače přesune na přeživšího hostitele a aplikace se obnoví. V závislosti na tom, jak aplikace zpracovává ztrátu serveru rozhraní API, se můžou pody restartovat na novém hostiteli. |
Clustering s podporou převzetí služeb při selhání převezme virtuální počítač řídicí roviny clusteru úloh na hostiteli, který je v pořádku. Po převzetí služeb při selhání je možné škálovat úlohy. | Clustering s podporou převzetí služeb při selhání převezme virtuální počítač řídicí roviny clusteru pro správu na hostiteli, který je v pořádku. Po převzetí služeb při selhání budou fungovat operace CRUD na nových cílových clusterech. | Clustering s podporou převzetí služeb při selhání restartuje virtuální počítač řídicí roviny clusteru úloh na hostiteli, který je v pořádku. Potom je server rozhraní API dostupný. |
Selhání virtuálního počítače roviny správy
Virtuální počítač řídicí roviny clusteru pro správu se může neočekávaně odstranit, může dojít k poškození spouštěcího disku nebo virtuální počítač řídicí roviny clusteru pro správu se nemusí spustit kvůli problémům s operačním systémem.
Pomocí následující tabulky můžete určit potenciální dopad selhání virtuálního počítače řídicí roviny clusteru pro správu na úlohy.
Existující úlohy | CRUD v clusterech úloh | Nový životní cyklus clusteru úloh | Dostupnost serveru rozhraní API |
---|---|---|---|
Bez přerušení |
Narušení + Ruční obnovení |
Narušení + Ruční obnovení |
Bez přerušení |
Pokud virtuální počítač clusteru pro správu selže, stávající úlohy se budou dál spouštět. | Pracovní uzly nelze přidat pro škálování aplikace. | Vytvoření nové úlohy není úspěšné, pokud je cluster pro správu spuštěný. | Server rozhraní API by měl zůstat dostupný v případě, že virtuální počítač clusteru pro správu selže. |
Nelze použít | Pokud se clustering s podporou převzetí služeb při selhání může zotavit z chyby, pokusí se restartovat virtuální počítač roviny správy na jiném hostiteli. Pokud clustering s podporou převzetí služeb při selhání nemůže obnovit virtuální počítač, cluster pro správu musí být znovu sestaven ručně. Další informace najdete v tématu Zálohování a obnovení clusterů úloh. | Pokud se clustering s podporou převzetí služeb při selhání může zotavit z chyby, pokusí se restartovat virtuální počítač roviny správy na jiném hostiteli. Pokud clustering s podporou převzetí služeb při selhání nemůže obnovit virtuální počítač, cluster pro správu musí být znovu sestaven ručně. Pokyny najdete v tématu Zálohování a obnovení clusterů úloh. | Nelze použít |
Selhání virtuálního počítače řídicí roviny
Virtuální počítač řídicí roviny clusteru úloh se může neočekávaně odstranit, může dojít k poškození spouštěcího disku nebo se virtuální počítač nemusí spustit kvůli problémům s operačním systémem.
Pomocí následující tabulky můžete určit potenciální dopad selhání virtuálního počítače řídicí roviny clusteru úloh na úlohy.
Existující úlohy | CRUD v clusterech úloh | Nový životní cyklus clusteru úloh | Dostupnost serveru rozhraní API |
---|---|---|---|
Bez přerušení |
Narušení + Ruční obnovení |
Bez přerušení |
Narušení + Ruční obnovení |
Stávající úlohy se budou dál spouštět bez přerušení, pokud: – Pracovní uzly jsou na samostatných hostitelích. – Aplikace definovala alespoň dvě repliky se zadaným parametrem podAntiAffinity .Pokud má aplikace závislost na externí virtuální IP sadě serveru rozhraní API, dojde k přerušení. |
Úlohy se nedají škálovat, když je virtuální počítač řídicí roviny ve stavu selhání. Přidání nových pracovních uzlů a škálování podů nebude fungovat. | Vytvoření nové úlohy proběhne úspěšně. | Server rozhraní API není k dispozici, pokud je virtuální počítač řídicí roviny ve stavu selhání. |
Nelze použít | Pokud se clustering s podporou převzetí služeb při selhání může zotavit z této chyby, pokusí se restartovat virtuální počítač řídicí roviny na jiném hostiteli. Pokud clustering s podporou převzetí služeb při selhání nemůže obnovit virtuální počítač, musí být virtuální počítač řídicí roviny znovu sestaven ručně. Pokyny najdete v tématu Zálohování a obnovení clusterů úloh. | Nelze použít | Pokud se clustering s podporou převzetí služeb při selhání může zotavit z této chyby, pokusí se restartovat virtuální počítač řídicí roviny na jiném hostiteli. Pokud clustering s podporou převzetí služeb při selhání nemůže obnovit virtuální počítač, musí být virtuální počítač řídicí roviny znovu sestaven ručně. Pokyny najdete v tématu Zálohování a obnovení clusterů úloh. |
Selhání fondu uzlů (pracovních uzlů) virtuálního počítače
Virtuální počítače hostující uzly Kubernetes se můžou neočekávaně odstranit, spouštěcí disk se může poškodit nebo se virtuální počítače nemusí spouštět kvůli problémům s operačním systémem.
Pomocí následující tabulky můžete určit potenciální dopad selhání virtuálního počítače ve fondu uzlů Kubernetes na úlohy.
Existující úlohy | CRUD v clusterech úloh | Nový životní cyklus clusteru úloh | Dostupnost serveru rozhraní API |
---|---|---|---|
Potenciální přerušení + Ruční obnovení |
Bez přerušení | Bez přerušení | Bez přerušení |
Stávající úlohy se budou dál spouštět bez přerušení, pokud: – Pracovní uzly jsou na samostatných hostitelích. – Aplikace definovala alespoň dvě repliky se zadaným parametrem podAntiAffinity . |
Pracovní uzly je možné přidat. Plánování podů proběhne úspěšně, pokud mají zbývající uzly dostatečnou kapacitu. |
Vytvoření nové úlohy proběhne úspěšně. | Server rozhraní API zůstává k dispozici v případě selhání jednoho pracovního virtuálního počítače. |
Pokud se clustering s podporou převzetí služeb při selhání může zotavit z této chyby, pokusí se restartovat virtuální počítač řídicí roviny na jiném hostiteli. Pokud clustering s podporou převzetí služeb při selhání nemůže obnovit virtuální počítač, musíte pracovní uzly vytvořit ručně. | Nelze použít | Nelze použít | Nelze použít |
Selhání virtuálního počítače nástroje pro vyrovnávání zatížení
Virtuální počítač nástroje pro vyrovnávání zatížení se může neočekávaně odstranit, může dojít k poškození spouštěcího disku nebo se virtuální počítač nemusí spustit kvůli problémům s operačním systémem.
Pomocí následující tabulky můžete určit potenciální dopad selhání virtuálního počítače nástroje pro vyrovnávání zatížení na úlohy.
Existující úlohy | CRUD v clusterech úloh | Nový životní cyklus clusteru úloh | Dostupnost serveru rozhraní API |
---|---|---|---|
Potenciální přerušení + Automatické obnovení |
Narušení + Ruční obnovení |
Bez přerušení |
Narušení + Ruční obnovení |
Stávající úlohy se budou dál spouštět bez přerušení, pokud: – Pracovní uzly jsou na samostatných hostitelích. – Aplikace definovala alespoň dvě repliky se zadaným parametrem podAntiAffinity .Pokud má aplikace závislost na externí virtuální IP sadě serveru rozhraní API, dojde k přerušení. |
Úlohy se nedají škálovat, když je virtuální počítač nástroje pro vyrovnávání zatížení ve stavu selhání. Přidání nových pracovních uzlů a škálování podů nebude fungovat. | Vytvoření úlohy proběhne úspěšně. | Server rozhraní API zůstane nedostupný, když je virtuální počítač nástroje pro vyrovnávání zatížení mimo provoz. |
Pokud se clustering s podporou převzetí služeb při selhání může zotavit z chyby, pokusí se restartovat virtuální počítač nástroje pro vyrovnávání zatížení na jiném hostiteli. Pokud clustering s podporou převzetí služeb při selhání nemůže obnovit virtuální počítač, musíte virtuální počítač řídicí roviny znovu sestavit ručně. Pokyny najdete v tématu Zálohování a obnovení clusterů úloh. | Pokud se clustering s podporou převzetí služeb při selhání může zotavit z chyby, pokusí se restartovat virtuální počítač nástroje pro vyrovnávání zatížení na jiném hostiteli. Pokud clustering s podporou převzetí služeb při selhání nemůže obnovit virtuální počítač, musíte virtuální počítač řídicí roviny znovu sestavit ručně. Pokyny najdete v tématu Zálohování a obnovení clusterů úloh. | Nelze použít | Pokud se clustering s podporou převzetí služeb při selhání může zotavit z chyby, pokusí se restartovat virtuální počítač nástroje pro vyrovnávání zatížení na jiném hostiteli. Pokud clustering s podporou převzetí služeb při selhání nemůže obnovit virtuální počítač, musíte virtuální počítač řídicí roviny znovu sestavit ručně. Pokyny najdete v tématu Zálohování a obnovení clusterů úloh. |