Tento scénář ukazuje, jak navrhnout a implementovat základní architekturu pro Službu Microsoft Azure Kubernetes Service (AKS) běžící v Azure Local.
Tento článek obsahuje doporučení pro sítě, zabezpečení, identitu, správu a monitorování clusteru na základě obchodních požadavků organizace. Je součástí směrného plánu architektury sady dvou článků. Tady najdete doporučení pro návrh sítě.
Důležité
Informace v tomto článku se týkají AKS ve službě Azure Stack HCI, verze 22H2 a AKS-HCI ve Windows Serveru. Nejnovější verze AKS běží na Operačním systému Azure Stack HCI verze 23H2. Další informace o nejnovější verzi najdete v dokumentaci k AKS v operačním systému Azure Stack HCI verze 23H2.
Architektura
Následující obrázek znázorňuje základní architekturu pro azure Kubernetes Service v clusterech s podporou převzetí služeb při selhání datacenter azure Local nebo Windows Server 2019/2022:
Stáhněte si soubor aplikace Visio s touto architekturou.
Architektura se skládá z následujících komponent a možností:
- Azure Stack HCI verze 22H2. Hyperkonvergované řešení clusteru infrastruktury (HCI), které hostuje virtualizované úlohy Windows a Linuxu a jejich úložiště v hybridním místním prostředí. Místní instance Azure se implementuje jako cluster s 2 až 8 uzly.
- Azure Kubernetes Service (AKS) v MístnímAzure . Místní implementace AKS, která automatizuje spouštění kontejnerizovaných aplikací ve velkém měřítku.
- Azure Arc. Cloudová služba, která rozšiřuje model správy založený na Azure Resource Manageru na prostředky mimo Azure, včetně virtuálních počítačů mimo Azure, clusterů Kubernetes a kontejnerizovaných databází.
- Azure Policy. Cloudová služba, která pomáhá vynucovat standardy organizace a vyhodnotit dodržování předpisů ve velkém, vyhodnocením prostředků Azure (včetně prostředků s podporou Arc) na vlastnosti těchto prostředků do obchodních pravidel. Mezi tyto standardy patří také Azure Policy pro Kubernetes, které aplikují zásady na úlohy spuštěné v clusteru.
- Azure Monitor Cloudová služba, která maximalizuje dostupnost a výkon vašich aplikací a služeb tím, že poskytuje komplexní řešení pro shromažďování, analýzu a akce na telemetrii z cloudových a místních prostředí.
- Microsoft Defender for Cloud. Jednotný systém správy zabezpečení infrastruktury, který posiluje stav zabezpečení vašich datových center a poskytuje pokročilou ochranu před hrozbami napříč hybridními úlohami v cloudu a v místním prostředí.
- Azure Automation Poskytuje cloudovou službu automatizace a konfigurace, která podporuje konzistentní správu napříč prostředími Azure a prostředími mimo Azure.
- Velero. Opensourcový nástroj, který podporuje zálohování na vyžádání a plánované zálohování a obnovuje všechny objekty v clusteru Kubernetes.
- Azure Blob Storage. Široce škálovatelné a zabezpečené úložiště objektů pro úlohy nativní pro cloud, archivy, datová jezera, vysokovýkonné výpočetní prostředí a strojové učení.
Komponenty
- Azure Stack HCI verze 22H2
- Azure Kubernetes Service (AKS) v Místním Azure
- Centrum pro správu Windows
- Předplatné Azure
- Azure Arc
- Řízení přístupu Azure na základě rolí (Azure RBAC)
- Azure Monitor
- Microsoft Defender for Cloud
Podrobnosti scénáře
Potenciální případy použití
- Implementujte vysoce dostupné úlohy založené na kontejnerech v místní implementaci Kubernetes AKS.
- Automatizace spouštění kontejnerizovaných aplikací ve velkém měřítku
- Nižší celkové náklady na vlastnictví (TCO) prostřednictvím řešení certifikovaných Microsoftem, cloudové automatizace, centralizované správy a centralizovaného monitorování.
Certifikovaný hardware
Použijte hardware certifikovaný pro místní prostředí Azure, který poskytuje nastavení zabezpečeného spouštění, rozhraní UEFI (United Extensible Firmware Interface) a čipu TPM (Trusted Platform Module). Požadavky na výpočetní prostředky závisí na aplikaci a počtu pracovních uzlů, které běží v AKS v clusteru. K zajištění vysoké dostupnosti použijte několik fyzických uzlů pro nasazení místního Azure nebo alespoň dvou uzlů clusteru s podporou převzetí služeb při selhání Windows Serveru Datacenter. Vyžaduje se, aby všechny servery měly stejný výrobce a model s použitím 64bitových procesorů Intel Nehalem, AMD EPYC nebo novějších kompatibilních procesorů s překladem adres druhé úrovně (SLAT).
Strategie nasazení clusteru
AKS zjednodušuje místní nasazení Kubernetes tím, že poskytuje průvodce nebo rutiny PowerShellu, které můžete použít k nastavení Kubernetes a základních místních doplňků Azure. Cluster AKS má v Místním Azure následující komponenty:
- Cluster pro správu Nasaďte cluster pro správu na virtuální počítač s vysokou dostupností, který běží v místním Azure nebo clusteru s podporou převzetí služeb při selhání windows Serveru 2019/2022 Datacenter. Cluster pro správu zodpovídá za nasazení a správu několika clusterů úloh a zahrnuje následující komponenty:
- Server rozhraní API. Komunikuje s nástroji pro správu.
- Nástroj pro vyrovnávání zatížení Spravuje pravidla vyrovnávání zatížení pro server rozhraní API clusteru pro správu.
- Clustery úloh. Implementujte vysoce dostupné komponenty řídicí roviny a součásti pracovních uzlů. Kontejnerizované aplikace běží v clusteru úloh. K zajištění izolace aplikací můžete nasadit až osm clusterů úloh. Cluster úloh se skládá z následujících komponent:
- Řídicí rovina. Běží v linuxové distribuci a obsahuje komponenty serveru API pro interakci s rozhraním Kubernetes API a distribuovaným úložištěm klíč-hodnota atd. pro ukládání všech konfigurací a dat clusteru.
- Nástroj pro vyrovnávání zatížení Běží na virtuálním počítači s Linuxem a poskytuje služby s vyrovnáváním zatížení pro cluster úloh.
- Pracovní uzly. Spusťte v operačním systému Windows nebo Linux, který hostuje kontejnerizované aplikace.
- Prostředky Kubernetes Pody představují jednu instanci vaší aplikace, která má obvykle mapování 1:1 s kontejnerem, ale některé pody můžou obsahovat více kontejnerů. Nasazení představují jeden nebo více identických podů. Pody a nasazení jsou logicky seskupeny do oboru názvů, který řídí přístup ke správě prostředků.
Síťové požadavky
Kubernetes poskytuje abstraktní vrstvu virtuálním sítím připojením uzlů Kubernetes k virtuální síti. Poskytuje také příchozí a odchozí připojení podů prostřednictvím komponenty kube-proxy . Místní platforma Azure poskytuje další zjednodušení nasazení konfigurací virtuálního počítače HAProxy nástroje pro vyrovnávání zatížení.
Poznámka:
Informace o tom, jak navrhovat a implementovat koncepty sítě pro nasazování uzlů AKS do místních clusterů Azure a Windows Serveru, najdete v druhém článku této série architektura sítě.
Architektura používá virtuální síť, která přiděluje IP adresy pomocí jedné z následujících možností sítě:
- Statické sítě IP. Používá statický definovaný fond adres pro všechny objekty v nasazení. Přidává další výhody a zaručuje, že úlohy a aplikace jsou vždy dostupné. Jedná se o doporučený způsob.
- Sítě DHCP. Přiděluje dynamické IP adresy uzlům Kubernetes, základním virtuálním počítačům a nástrojům pro vyrovnávání zatížení pomocí serveru DHCP (Dynamic Host Configuration Protocol).
Fond virtuálních IP adres je rozsah vyhrazených IP adres, které se používají k přidělování IP adres serveru rozhraní API clusteru Kubernetes a ke službám Kubernetes.
K získání dalších síťových funkcí, jako jsou zásady sítě a řízení toku, použijte Project Calico pro Kubernetes.
Požadavky na úložiště
Pro každý server v clusteru použijte stejné typy jednotek, které mají stejnou velikost a model. Azure Local funguje s přímo připojenými přílohami SATA (Serial Attached SCSI), SAS (Serial Attached SCSI), Non-Volatile Memory Express (NVMe) nebo trvalými paměťovými jednotkami, které jsou fyzicky připojené k jednomu serveru. U svazků clusteru používá HCI softwarově definovanou technologii úložiště (Prostory úložiště s přímým přístupem) ke kombinování fyzických jednotek ve fondu úložiště kvůli odolnosti proti chybám, škálovatelnosti a výkonu. Aplikace, které běží v Kubernetes v Azure Local, často očekávají, že pro ně budou dostupné následující možnosti úložiště:
- Obsahy. Představuje způsob, jak ukládat, načítat a uchovávat data napříč pody a prostřednictvím životního cyklu aplikace.
- Trvalé svazky. Prostředek úložiště vytvořený a spravovaný rozhraním API Kubernetes, který může existovat po celou dobu životnosti jednotlivého podu.
Zvažte definování tříd úložiště pro různé úrovně a umístění za účelem optimalizace nákladů a výkonu. Třídy úložiště podporují dynamické zřizování trvalých svazků a definují hodnotu reclaimPolicy , která určuje akci základního prostředku úložiště pro správu trvalých svazků při odstranění podu.
Správa AKS v Azure Local
AKS v Azure Local můžete spravovat pomocí následujících možností správy:
- Centrum pro správu Systému Windows. Nabízí intuitivní uživatelské rozhraní pro operátora Kubernetes pro správu životního cyklu clusterů Azure Kubernetes Service v místním prostředí Azure.
- PowerShell. Usnadňuje stahování, konfiguraci a nasazování AKS v Azure Local. Modul PowerShellu také podporuje nasazování, konfiguraci dalších clusterů úloh a překonfigurování existujících clusterů.
Požadavky služby Active Directory
Integrujte AKS v clusterech s podporou převzetí služeb při selhání místního azure nebo Windows Serveru Datacenter s prostředím služby Active Directory Domain Services (AD DS) pro zajištění optimální správy. Pokud je to možné, použijte samostatné organizační jednotky pro servery a služby AKS v Azure Local, abyste zajistili podrobnější řízení přístupu a oprávnění. Integrace služby Active Directory se službou Azure Kubernetes Service v Azure Local umožňuje uživateli na počítači připojeném k doméně s Windows připojit se k serveru rozhraní API (s kubectl) pomocí přihlašovacích údajů jednotného přihlašování (SSO).
Doporučení
Následující doporučení platí pro většinu scénářů. Pokud nemáte konkrétní požadavek, který je přepíše, postupujte podle doporučení.
Integrace AKS v nasazeních HCI se službou Azure Arc
Pokud chcete minimalizovat celkových nákladů na vlastnictví, integrujte nasazení AKS se službou Azure Arc. Zvažte použití následujících služeb Azure:
- Azure Monitor Container Insights. Monitoruje výkon úloh kontejnerů, které běží na clusterech s Linuxem i Windows. Shromažďuje metriky paměti a procesoru z kontrolerů, uzlů a kontejnerů prostřednictvím rozhraní API metrik. Pomocí přehledů kontejnerů můžete identifikovat využití paměti a procesoru, zjistit celkový výkon podu, porozumět chování clusteru a nakonfigurovat výstrahy pro proaktivní monitorování.
- Možnosti automatizace AKS poskytuje širokou škálu možností automatizace s aktualizacemi operačního systému v kombinaci s úplnými aktualizacemi zásobníku, včetně firmwaru a ovladačů poskytovaných místními dodavateli a partnery Azure. Windows PowerShell můžete spustit místně z jednoho z místních počítačů Azure nebo vzdáleně z počítače pro správu. Integrace se službou Azure Automation a Azure Arc usnadňuje širokou škálu scénářů automatizace pro virtualizované a kontejnerizované úlohy.
- Velero a Azure Blob Storage. Velero je opensourcový nástroj, který podporuje zálohování na vyžádání, plánované zálohování a obnovení všech objektů v clusteru Kubernetes pro všechny prostředky definované a uložené v databázi atd. jako definici vlastních prostředků Kubernetes (CRD). Poskytuje zálohování prostředků a svazků Kubernetes pro celý cluster nebo část clusteru pomocí oborů názvů nebo selektorů popisků. Uložte sadu záloh vytvořenou pomocí nástroje Velero v účtu úložiště Azure v kontejneru objektů blob.
- Kubernetes Service s podporou Azure Arc Poskytuje reprezentaci AKS Azure Resource Manageru v místní instanci Azure. Nasaďte agenty s podporou Azure Arc do oboru názvů Kubernetes, abyste shromáždili protokoly a metriky, shromáždili metadata clusteru, verzi clusteru a počet uzlů a zajistili, že agenti vykazují optimální výkon.
- Azure Policy. Nasaďte a vynucujte integrované zásady zabezpečení v clusteru AKS pomocí služby Azure Policy. K vynucení GitOps můžete použít také vlastní definici zásad, což je postup deklarace požadovaného stavu konfigurace Kubernetes (nasazení, obory názvů atd.) v úložišti Git.
- Azure Policy pro Kubernetes Spravujte interní zásady clusteru implementované gatekeeperem, nasadí definici zásad do clusteru jako šablonu omezení a hlásí stav dodržování předpisů clusterů Kubernetes z jednoho místa.
- Azure RBAC. Slouží k přiřazení rolí a ke správě přístupu k Kubernetes s podporou Azure Arc.
Důležité informace
Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.
Spolehlivost
- Implementujte vysoce dostupný virtuální počítač pro cluster pro správu a několik hostitelů v clusteru Kubernetes, aby splňovalo minimální úroveň dostupnosti pro úlohy.
- Zálohování a obnovení clusterů úloh pomocí Velero a Azure Blob Storage Definujte cíle dostupnosti a obnovení tak, aby splňovaly obchodní požadavky.
- Nasazení AKS používají clustering s podporou převzetí služeb při selhání a migraci za provozu pro zajištění vysoké dostupnosti a odolnosti proti chybám. Migrace za provozu je funkce Hyper-V, která umožňuje transparentně přesouvat spuštěné virtuální počítače z jednoho hostitele Hyper-V do jiného bez vnímaných výpadků.
- Nakonfigurujte nasazení tak, aby používala funkce Kubernetes, jako jsou nasazení, mapování spřažení a sady replik, a zajistěte odolnost podů ve scénářích přerušení.
- Měli byste zajistit, aby se služby odkazované v části Architektura podporovaly v oblasti, do které je služba Azure Arc nasazená.
- Zvažte omezení využití veřejných imagí kontejnerů a načítejte pouze z registrů kontejnerů, pro které máte kontrolu nad smlouvou SLA, jako je ACR.
Zabezpečení
Zaměřte se na celý zásobník zabezpečením hostitele a kontejnerů.
Zabezpečení infrastruktury
- Použijte certifikovaný hardware Azure Local, který poskytuje nastavení zabezpečeného spouštění, rozhraní UEFI a TPM. Tyto technologie v kombinaci se zabezpečením založeným na virtualizaci (VBS) pomáhají chránit úlohy citlivé na zabezpečení. Pokud chcete ověřit řešení, navštivte místní řešení Azure.
- Pomocí zabezpečeného spouštění se ujistěte, že server spouští pouze software, který je důvěryhodný výrobcem originálního vybavení.
- Pomocí rozhraní UEFI můžete řídit proces spouštění serveru.
- Pomocí čipu TPM můžete ukládat kryptografické klíče a izolovat všechny hardwarové funkce související se zabezpečením.
- Nástroj BitLocker Drive Encryption umožňuje šifrování neaktivních uložených svazků Prostory úložiště s přímým přístupem.
- Nakonfigurujte zásady sítě Calico tak, aby definovaly pravidla izolace sítě mezi kontejnery.
- Pokud chcete zvýšit požadavky na zabezpečení, zvažte nasazení clusteru úloh na vyhrazeném windows serveru.
- K centrální správě nastavení zabezpečení pro servery a clustery použijte Microsoft Defender pro cloud dostupný prostřednictvím Centra pro správu Windows. Poskytuje ochranu před hrozbami pro clustery Kubernetes s podporou Arc. Rozšíření Microsoft Defender for Cloud shromažďuje data z uzlů v clusteru a odesílá je do back-endu Azure Defenderu for Kubernetes v cloudu za účelem další analýzy.
- Zabezpečená komunikace s certifikáty
- Pomocí modulu plug-in Key Management Server (KMS) obměňte šifrovací klíče úložiště tajných kódů Kubernetes (etcd).
Zabezpečení aplikací
- Pomocí rozšíření poskytovatele tajných kódů služby Azure Key Vault ve službě AKS v Azure Local můžete dále chránit tajné kódy používané různými aplikacemi tím, že je uložíte do služby Azure Key Vault.
- Pomocí doplňku Open Service Mesh AKS zabezpečte komunikaci mezi službami tím, že povolíte vzájemné tls (mTLS). Tento doplněk můžete také použít k definování a provádění jemně odstupňovaných zásad řízení přístupu pro služby.
- Pomocí azure Policy pro Kubernetes vynucujte zásady zabezpečení clusteru, jako jsou například žádné privilegované pody.
- Použijte službu Azure Container Registry, která obsahuje kontrolu ohrožení zabezpečení v úložišti kontejneru.
- Používejte účty zabezpečení spravované skupinami pro úlohy Windows s hostitelem, který není připojený k doméně. (Platí jenom pro Windows Server.)
Zabezpečení kontejneru
- Posílení hostitelského prostředí a prostředí démona odebráním nepotřebných služeb
- Udržujte tajné kódy mimo image a připojte je pouze přes orchestrační modul kontejnerů.
- Zabezpečte image ve službě Azure Container Registry, která podporuje kontrolu ohrožení zabezpečení a RBAC.
- Používejte izolaci kontejnerů a vyhněte se spouštění kontejnerů v privilegovaném režimu, aby útočníci zabránili eskalaci oprávnění v případě ohrožení kontejneru.
Optimalizace nákladů
- Pomocí cenové kalkulačky Azure můžete odhadnout náklady na služby používané v architektuře. Část Optimalizace nákladů v architektuře Microsoft Azure Well-Architected Framework popisuje další osvědčené postupy. Další informace najdete v tématu Podrobnosti o cenách.
- Zvažte implementaci hyperprocesingu na fyzickém počítači, abyste optimalizovali náklady, protože fakturační jednotka AKS je virtuální jádro.
Provozní dokonalost
- Průvodce vytvořením clusteru Vyzkoušejte zjednodušené prostředí pro zřizování a správu pomocí Centra pro správu Windows. Průvodce vytvořením clusteru v centru windows Admin Center poskytuje rozhraní řízené průvodcem, které vás provede vytvořením místní instance Azure. Průvodce vytvořením clusteru je kompromisem pro usnadnění a vytváření skriptů pro nasazení, které můžete spravovat pomocí správy zdrojového kódu pro auditování a opakovatelnost napříč několika nasazeními. Podobně Windows Admin Center zjednodušuje proces správy místních virtuálních počítačů Azure.
- Azure Arc. Integrace se službou Azure Arc nebo řadou služeb Azure, které poskytují další možnosti správy, údržby a odolnosti (například Azure Monitor a Log Analytics).
- GitOps. Místo ruční konfigurace komponent Kubernetes použijte automatizované nástroje k použití konfigurací v clusteru Kubernetes, protože tyto konfigurace se kontrolují do zdrojového úložiště. Tento proces se často označuje jako GitOps a oblíbená řešení GitOps pro Kubernetes zahrnují Flux a Argo CD. V této architektuře doporučujeme použít rozšíření GitOps poskytované Microsoftem, které je založené na fluxu.
- Open Service Mesh (OSM) s podporou Služby Azure Arc. Jednoduchá rozšiřitelná síť nativních cloudových služeb, která uživatelům umožňuje jednotnou správu, zabezpečení a získání funkcí pozorovatelnosti pro vysoce dynamická prostředí mikroslužeb.
Efektivita výkonu
- Pro lepší dostupnost a výkon aplikací, zjednodušenou správu a provoz a snížení celkových nákladů na vlastnictví použijte hardware certifikovaný pro Místní prostředí Azure.
- Seznamte se s místními limity AKS v Azure. Microsoft podporuje AKS v nasazeních azure Stack s maximálně osmi fyzickými servery na cluster, osm clusterů Kubernetes a 200 virtuálních počítačů.
- Škálování AKS v Azure Local závisí na počtu pracovních uzlů a cílových clusterů. Pokud chcete správně nakódovat hardware pro pracovní uzly, musíte předvídat počet podů, kontejnerů a pracovních uzlů v cílovém clusteru. Měli byste zajistit, aby alespoň 15% místní kapacity Azure bylo rezervováno pro plánované i neplánované selhání. Z hlediska efektivity výkonu efektivně využívají výpočetní prostředky ke splnění systémových požadavků a k zachování této efektivity při vývoji změn poptávky a technologií. Obecně platí, že pokud jeden uzel přejde během údržby do režimu offline nebo během neplánovaného selhání, může mít zbývající uzly dostatečnou kapacitu ke správě zvýšeného zatížení.
- Pokud používáte mnoho služeb Kubernetes v každém cílovém clusteru, zvažte zvětšení velikosti virtuálního počítače nástroje pro vyrovnávání zatížení.
- AKS v Azure Local distribuuje pracovní uzly pro každý fond uzlů v cílovém clusteru pomocí logiky místního umístění Azure.
- Naplánujte rezervace IP adres pro konfiguraci hostitelů AKS, clusterů úloh, serverů rozhraní API clusteru, služeb Kubernetes a aplikačních služeb. Microsoft doporučuje rezervaci minimálně 256 IP adres pro nasazení AKS v Azure Local.
- Zvažte implementaci kontroleru příchozího přenosu dat, který funguje ve vrstvě 7 a používá inteligentnější pravidla k distribuci provozu aplikací.
- Implementujte optimalizaci výkonu sítě pro přidělování šířky pásma provozu.
- Akceleraci grafického procesoru (GPU) můžete použít pro rozsáhlé úlohy.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Lisa DenBeste | Správce programu řízení projektů
- Kenny Harder | Vedoucí projektu
- Mike Kostersitz | Vedoucí hlavního programu
- Meg Olsen | Hlavní
- Nate Waters | Product Marketing Manager
Další přispěvatelé:
- Walter Oliver | Vedoucí programový manažer
Další kroky
Související prostředky
- Architektura sítě pro AKS v Azure Local