Az Azure Kubernetes Service (AKS) alaparchitektúrája az AKS-hez a helyi Azure-ban
Ez a forgatókönyv bemutatja, hogyan tervezhet és implementálhat alapkonfigurációs architektúrát a Microsoft Azure Kubernetes Service (AKS) számára, amely az Azure Local-on fut.
Ez a cikk a fürt hálózatkezelésére, biztonságára, identitására, felügyeletére és monitorozására vonatkozó javaslatokat tartalmaz a szervezet üzleti követelményei alapján.
Fontos
A cikkben szereplő információk az Azure Local és a Windows Server AKS AKS-ére vonatkoznak. Az AKS legújabb verziója az Azure Stack HCI 23H2-es verzióján fut. A legújabb verzióról további információt az Azure Local AKS-ben talál.
Architektúra
Töltse le az architektúra Visio-fájlját.
Összetevők
A következő összetevők vannak telepítve a peremhálózaton vagy a helyszínen:
Az Azure Local egy hiperkonvergens infrastruktúra (HCI) fürtmegoldás, amely virtualizált Linux- és Windows-számítási feladatokat, valamint azok tárolóit hibrid helyszíni környezetben üzemelteti. Az Azure Local-példányok olyan fürtökből állnak, amelyek 1 és 16 csomópont között lehetnek.
Az Azure Arc erőforráshíd egy magas rendelkezésre állású virtuális gép (VM), amely az Azure Local-on fut. Az erőforráshíd több AKS-fürt üzembe helyezéséért és felügyeletéért felelős.
Az Azure Local AKS az AKS helyszíni implementációja, amely nagy méretekben automatizálja a tárolóalapú alkalmazások futtatását. Az Azure Local-fürtök AKS-jei magas rendelkezésre állású vezérlősík-csomópontokat és feldolgozó csomópontokat tartalmaznak. A tárolóalapú alkalmazások az AKS-fürt feldolgozó csomópontjain futnak. Az alkalmazáselkülönítés eléréséhez legfeljebb 32 AKS-fürtöt helyezhet üzembe. Az AKS-fürt a következő összetevőkből áll:
A vezérlősík Az Azure Linuxon fut, és olyan API-kiszolgáló-összetevőket tartalmaz, amelyek a Kubernetes API-val kommunikálnak. Az ETCD-t is használja, amely egy elosztott kulcs-érték tároló, a fürt összes konfigurációjának és adatainak tárolására.
A feldolgozó csomópontok az Azure Linux operációs rendszeren vagy a Windows Server operációs rendszeren futnak. Tárolóalapú alkalmazásokat üzemeltetnek podokban. A podok az alkalmazás egyetlen példányát jelölik, és általában egy-az-egyhez egy tárolót képeznek le. Egyes podok azonban több tárolót is tartalmaznak. Az üzemelő példányok egy vagy több azonos podból állnak. A podok és az üzemelő példányok logikailag egy névtérbe vannak csoportosítva, amely meghatározza az erőforrások kezeléséhez való hozzáférést.
A következő összetevők vannak telepítve az Azure-ban:
Az Azure Arc egy felhőalapú szolgáltatás, amely kiterjeszti az Azure Resource Manager-alapú felügyeleti modellt a nem Azure-erőforrásokra, beleértve a nem Azure-beli virtuális gépeket, a Kubernetes-fürtöket és a tárolóalapú adatbázisokat.
Az Azure Automation egy felhőalapú automatizálási és konfigurációs szolgáltatást nyújt, amely támogatja a konzisztens felügyeletet az Azure-beli és nem Azure-beli környezetekben.
Az Azure Monitor egy felhőalapú szolgáltatás, amely maximalizálja az alkalmazások és szolgáltatások rendelkezésre állását és teljesítményét azáltal, hogy átfogó megoldást kínál a felhőbeli és helyszíni környezetek telemetriai adatainak gyűjtésére, elemzésére és kezelésére.
Az Azure Policy egy felhőalapú szolgáltatás, amely segít kikényszeríteni a szervezeti szabványokat, és nagy méretekben felmérni a megfelelőséget az Azure kiértékelésével, beleértve az Azure Arc által engedélyezett erőforrásokat is, és az erőforrások tulajdonságait üzleti szabályokba. Ezek a szabványok közé tartozik az Azure Policy for Kubernetes is, amely szabályzatokat alkalmaz a fürtben futó számítási feladatokra.
A Microsoft Defender for Cloud egy egységes infrastruktúrabiztonsági felügyeleti rendszer, amely erősíti az adatközpontok biztonsági pozícióját, és fejlett veszélyforrások elleni védelmet nyújt a felhőben és a helyszíni hibrid számítási feladatokban.
Forgatókönyv részletei
Lehetséges használati esetek
Magas rendelkezésre állású, tárolóalapú számítási feladatok implementálása az AKS helyszíni Kubernetes-implementációjában.
Tárolóalapú alkalmazások nagy léptékű futtatásának automatizálása.
A Microsoft által minősített megoldások, a felhőalapú automatizálás, a központosított felügyelet és a központosított monitorozás használatával csökkentheti a teljes bekerülési költséget (TCO).
Minősített hardver
Használja az Azure Helyi tanúsítvánnyal rendelkező hardvert, amely biztonságos rendszerindítási, egységes bővíthető belsővezérlőprogram-interfészt (UEFI) és megbízható platformmodul-(TPM) beállításokat biztosít a dobozon kívül. A számítási követelmények az alkalmazástól és a vezérlősík csomópontjainak és feldolgozó csomópontjainak teljes számától függenek az Azure Local-on futó összes AKS-fürtben. Több fizikai csomópont használata az Azure Local üzembe helyezéséhez a magas rendelkezésre állás eléréséhez. Minden kiszolgálónak azonos gyártónak és modellnek kell lennie, és 64 bites Intel Nehalem-szintű, AMD EPYC-szintű vagy újabb kompatibilis processzorokat kell használnia, amelyek támogatják a második szintű címfordítást.
Hálózati követelmények
A Kubernetes absztrakciós réteget biztosít a hálózatkezeléshez a Kubernetes-csomópontok virtuális átfedési hálózathoz való csatlakoztatásával. Emellett bejövő és kimenő kapcsolatot biztosít a podokhoz a kube-proxy összetevőn keresztül.
Ez az architektúra egy virtuális átfedési hálózatot használ, amely statikus IP-címkezeléssel foglalja le az IP-címeket. Ez az architektúra a Calico-t használja tárolóhálózati adapter-szolgáltatóként. A statikus IP-címek hálózatkezeléséhez előre definiált címkészletekre van szükség az üzembe helyezés összes objektumához. További előnyöket biztosít, és garantálja, hogy a számítási feladat és az alkalmazás mindig elérhető legyen. Az IP-címek a Kubernetes-szolgáltatásokhoz való lefoglalásához külön IP-címkészletet használnak.
A hálózati specifikációk logikai hálózatokként vannak definiálva az Azure Local-ban. Mielőtt létrehozza a logikai hálózatokat az Azure Local-ban, tekintse meg a hálózati követelményeket és az IP-címek tervezését.
Tárolási követelmények
A fürt minden kiszolgálója azonos méretű és modellű meghajtókat használjon. Az Azure Local a közvetlen csatlakoztatott soros fejlett technológiamelléklettel, a sorosan csatlakoztatott kis számítógéprendszer-adapterrel, a nemvolatilis memóriakijelzővel vagy az egy-egy kiszolgálóhoz fizikailag csatlakoztatott állandó memóriameghajtókkal működik. Fürtkötetek esetében a HCI szoftveralapú tárolási technológiát használ, például a Közvetlen tárolóhelyek szolgáltatást a tárolókészlet fizikai meghajtóinak a hibatűrés, a méretezhetőség és a teljesítmény egyesítéséhez. Az Azure Local-on futó AKS-ben futó alkalmazások gyakran a következő tárolási lehetőségeket várják el:
A kötetek az adatok podokon és az alkalmazás életciklusán keresztüli tárolásának, lekérésének és megőrzésének módját jelentik.
Az állandó kötetek olyan tárolási erőforrások, amelyeket a Kubernetes API hoz létre és kezel. Az egyes podok élettartamán túl is létezhetnek.
Fontolja meg a különböző szintek és helyek tárolási osztályainak meghatározását a költségek és a teljesítmény optimalizálása érdekében. A tárolási osztályok támogatják az állandó kötetek dinamikus kiépítését, és meghatározzák a reclaimPolicy parancsot az állandó kötetek kezelésére szolgáló mögöttes tárolási erőforrás műveletének meghatározásához a pod törlésekor.
AKS létrehozása és kezelése az Azure Local-on
Az AKS-t a helyi Azure-ban kell létrehoznia és kezelnie, mint bármely más Azure-erőforrást, amelyet ön kezel. Használhatja az Azure Portalt, az Azure CLI-t, az Azure Resource Manager-sablonokat (ARM-sablonokat) vagy a Bicep-et.
Az Azure Arc-kompatibilis Kubernetes szolgáltatás Resource Manager-reprezentációt biztosít az AKS-ről egy Helyi Azure-példányon. Amikor létrehoz egy AKS-t az Azure Local-fürtön, az Azure Arc-ügynökök automatikusan üzembe lesznek helyezve egy Kubernetes-névtérben a naplók és metrikák gyűjtéséhez, valamint a fürt metaadatainak, a Kubernetes-verziónak és a csomópontok számának gyűjtéséhez.
Ajánlott szolgáltatások és bővítmények
Az alábbi javaslatok a legtöbb forgatókönyvre vonatkoznak. Kövesse a javaslatokat, hacsak nem rendelkezik egy olyan követelménysel, amely felülírja őket. Az alábbi Azure-szolgáltatásokat ugyanabban az Azure-régióban kell üzembe helyezni, mint az AKS-fürtöt:
A MetalLB-bővítmény használatával helyezzen üzembe egy MetalLB terheléselosztót az AKS-fürtön L2 terheléselosztáshoz.
Engedélyezze az Azure Monitor Container Insightst a Linux- és Windows-csomópontkészleteken egyaránt futó tárolóterhelések teljesítményének figyeléséhez. A Metrika API-n keresztül összegyűjti a vezérlők, csomópontok és tárolók memória- és processzormetrikáit. A Container Insights használatával azonosíthatja a memória- és processzorhasználatot, észlelheti a Kubernetes-fürt általános teljesítményét, megismerheti a fürt viselkedését, és riasztásokat konfigurálhat a proaktív figyeléshez.
A rendelkezésre álló Automation-képességek használata a végpontok közötti felügyelethez. Az AKS számos automatizálási funkciót kínál, beleértve az operációsrendszer-frissítéseket és a teljes körű frissítéseket, például a belső vezérlőprogramot és az Azure-beli helyi gyártók és partnerek illesztőprogramjait. A Windows PowerShellt helyileg futtathatja az Egyik Azure-beli helyi gépről vagy távolról egy felügyeleti számítógépről. Az Azure Automation és az Azure Arc integrációja számos automatizálási forgatókönyvet támogat a virtualizált és tárolóalapú számítási feladatokhoz.
Az Erőforrás-vezérlés nagy léptékű kényszerítése az Azure Policy használatával. Az Azure Policy kibővíti a Gatekeeper 3-as verziót, amely az Open Policy Agent beléptető webhookja, hogy központilag érvényesítse az AKS-összetevőkre, például podokra, tárolókra és névterekre vonatkozó védelmet.
Az alkalmazások egységes üzembe helyezése Flux v2-konfigurációkkal és a Kubernetes-hez készült Azure Policy használatával skálázható, szabályzatalapú üzemelő példányok elérése érdekében. Kiválaszthat egy beépített szabályzatdefiníciót, és létrehozhat olyan szabályzat-hozzárendeléseket, amelyek adott paraméterekkel rendelkeznek a Flux beállításához. A problémák elkülönítésének támogatásához hozzon létre több olyan hozzárendelést, amelyek különböző Flux-konfigurációkkal rendelkeznek, amelyek külön forrásokra mutatnak, például egy Git-adattárat fürtgazdák számára, és egy másik adattárat az alkalmazáscsapatok számára.
Megfontolások
Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek készlete. További információ: Well-Architected Framework.
Megbízhatóság
A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfelek felé vállalt kötelezettségeknek. További információkért tekintse meg a Megbízhatósági terv felülvizsgálati ellenőrzőlistát.
Implementáljon három-öt vezérlősíkcsomópontot és több feldolgozó csomópontot a Kubernetes-fürtben, hogy megfeleljen az alkalmazások minimális rendelkezésre állási követelményeinek.
Tekintse át a feladatátvételi fürtözés követelményeit. Az AKS-üzemelő példányok feladatátvételi fürtözést és élő migrálást használnak a magas rendelkezésre állás és hibatűrés érdekében. Az élő áttelepítés egy Hyper-V funkció, amely lehetővé teszi a futó virtuális gépek transzparens áthelyezését egy Hyper-V gazdagépről egy másik gazdagépre anélkül, hogy az üzemidő észlelhető.
Konfigurálja az üzemelő példányokat a Kubernetes-funkciók, például az üzemelő példányok, az affinitásleképezés és a ReplicaSets használatára, hogy a podok rugalmasak legyenek a megszakítási forgatókönyvekben.
Korlátozza a nyilvános tárolólemezképek használatát, és csak olyan tárolóregisztrációs adatbázisokból kérje le a lekérést, amelyek felett a szolgáltatásiszint-szerződés, például az Azure Container Registry van szabályozva.
Biztonság
A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információkért lásd a Biztonsági terv felülvizsgálati ellenőrzőlistát.
Összpontosítson a teljes veremre a gazdagép és a tárolók védelmével.
Infrastruktúra biztonsága
Olyan Azure Local tanúsítvánnyal rendelkező hardvert használjon, amely a biztonságos rendszerindítási, UEFI- és TPM-beállításokat biztosítja a dobozon kívül. Ezek a virtualizációalapú biztonsággal kombinált technológiák segítenek a biztonsági szempontból érzékeny számítási feladatok védelmében. Az érvényesített megoldásokkal kapcsolatos további információkért tekintse meg az Azure Local megoldásait.
A Biztonságos rendszerindítás funkcióval győződjön meg arról, hogy a kiszolgáló csak az eredeti berendezés gyártójának megbízható szoftvereit indítja el.
Az UEFI használatával szabályozhatja a kiszolgáló rendszerindítási folyamatát.
A TPM használatával titkosítási kulcsokat tárolhat, és elkülönítheti az összes hardveralapú, biztonsággal kapcsolatos függvényt.
A BitLocker meghajtótitkosítással titkosíthatja a szabadban lévő közvetlen tárolóhelyek köteteit.
A Defender for Cloud használatával kezelheti a kiszolgálók és fürtök biztonsági beállításait. Fenyegetésvédelmet biztosít az Azure Arc-kompatibilis Kubernetes-fürtök számára. A Defender for Cloud bővítmény adatokat gyűjt a fürt csomópontjairól, és elküldi azokat a felhőbeli Azure Defender for Kubernetes háttérrendszerének további elemzés céljából.
Szerepkör-hozzárendelésekhez és az AKS-fürthöz való hozzáférés kezeléséhez használja az Azure szerepköralapú hozzáférés-vezérlést (Azure RBAC ).
Az identitások biztonságossá tételéhez és kezeléséhez használja a számítási feladat identitását az Azure-erőforrások számítási feladat podokból való eléréséhez.
Az AKS kulcskezelési szolgáltatás (KMS) beépülő modullal rendelkezik az etcd titkos kulcsok titkosításával. Minden AKS-fürtön alapértelmezés szerint engedélyezve van egy beépített KMS-beépülő modul. Ez a beépülő modul létrehozza a titkosítási kulcsot, és 30 naponta automatikusan elforgatja.
Alkalmazások biztonsága
Az Azure Key Vault titkos kulcsszolgáltatói bővítményének használata az AKS-en az Azure Local-példányon a különböző alkalmazások által használt titkos kódok további védelméhez a Key Vaultban való tárolásukkal.
Az Azure Policy for Kubernetes használatával kényszerítheti ki a fürtbiztonsági szabályzatokat, például nem emelt szintű podokat.
Használjon tárolóregisztrációs adatbázis-példányt, amely biztonsági rések vizsgálatát tartalmazza a tároló-adattárban.
Tárolóbiztonság
A szükségtelen szolgáltatások eltávolításával megerősítheti a gazdagép- és démonkörnyezetet.
Tartsa titokban a képeket, és csak a tároló vezénylési motoron keresztül csatlakoztassa őket.
Biztonságossá teheti a lemezképeket egy olyan Container Registry-példányban, amely támogatja a biztonsági rések vizsgálatát és az Azure RBAC-t.
Használja a tárolók elkülönítését , és kerülje a tárolók privileged módban való futtatását, hogy a támadók ne eszkalálják a jogosultságokat, ha egy tároló megsérül.
Költségoptimalizálás
A költségoptimalizálás a szükségtelen kiadások csökkentésére és a működési hatékonyság javítására összpontosít. További információt a Költségoptimalizálás tervezési felülvizsgálati ellenőrzőlistájában talál.
- Az Azure díjkalkulátorával megbecsülheti az azure-szolgáltatások, például az architektúrában használt Azure Monitor Container Insights költségeit. A Well-Architected-keretrendszer költségoptimalizálási szakasza más ajánlott eljárásokat ismertet. Az AKS ingyenesen érhető el, ha az Azure Local-on használja. További információ: Azure Local pricing details.
Működési kiválóság
Az Operational Excellence azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben működtetik. További információ: Az operatív kiválóság tervezési felülvizsgálati ellenőrzőlistája.
Infrastruktúra kódként: ARM-sablonok, Bicep vagy Terraform használatával automatizálhatja a fürt üzembe helyezését nagy méretekben. Az Azure Portalon megismerheti a fürtlétrehozás elérhető és támogatott lehetőségeit, és sablonként exportálhatja a kijelöléseket. Tekintse át az Azure ellenőrzött moduljait egy méretezhető üzembe helyezési lehetőségért. További információkért tekintse meg a Hibrid tárolószolgáltatás modult a GitHubon.
Azure Arc: Integrálható az Azure Arc- vagy Azure-szolgáltatásokkal, például az Azure Monitorral és a Log Analyticsszel, amelyek további felügyeleti, karbantartási és rugalmassági képességeket biztosítanak.
GitOps: A Kubernetes-összetevők manuális konfigurálása helyett használjon automatizált eszközt a kubernetes-fürtök konfigurációinak alkalmazásához, mert ezek a konfigurációk egy forrásadattárba vannak beadva. Ezt a folyamatot gyakran GitOps-nak is nevezik. A Kubernetes általános GitOps-megoldásai közé tartozik a Flux és az Argo CD. Ebben az architektúrában a Microsoft által biztosított GitOps-bővítmény használatát javasoljuk, amely a Fluxon alapul.
Teljesítményhatékonyság
A teljesítményhatékonyság azt jelenti, hogy a számítási feladat hatékonyan képes méretezni a felhasználói igényeket. További információt a Teljesítményhatékonyság tervezési felülvizsgálati ellenőrzőlistájában talál.
Az Azure local-certified hardver használata az alkalmazások jobb üzemidejéhez és teljesítményéhez, az egyszerűbb felügyelethez és műveletekhez, valamint az alacsonyabb TCO-hoz.
Az Azure Local AKS korlátainak megismerése. A Microsoft támogatja az AKS-t az azure-beli helyi üzemelő példányokon, amelyek fürtönként legfeljebb 16 fizikai kiszolgálóval, 32 Kubernetes-fürtövel és 200 virtuális géppel rendelkeznek.
A vezérlősík csomópontjainak, feldolgozó csomópontjainak és AKS-fürtöinek száma alapján határozza meg az AKS-t az Azure helyi követelményei alapján. A hardver megfelelő méretéhez előre kell számolnia az egyes AKS-fürtökhöz szükséges podok, tárolók és feldolgozó csomópontok számával. Foglaljon le legalább 15% Azure-beli helyi kapacitást a tervezett és a nem tervezett hibák kezeléséhez.
A teljesítményhatékonyság érdekében a számítástechnikai erőforrásokat úgy használja, hogy megfeleljen a rendszerkövetelményeknek, miközben fenntartja ezt a hatékonyságot a kereslet változásai és a technológiák fejlődése során. Általános szabály, hogy ha egy csomópont offline állapotba kerül, akár karbantartás, akár váratlan hiba miatt, a fennmaradó csomópontoknak elegendő kapacitással kell rendelkezniük a megnövekedett terhelés kezeléséhez.
Tekintse át az AKS-csomópontok elhelyezési logikáját. Az Azure Local AKS a rendelkezésre állási csoportokon keresztül az Azure Local elhelyezési logikájának használatával elosztja az AKS-fürtök egyes csomópontkészleteihez tartozó feldolgozó csomópontokat.
IP-címfoglalásokat tervezhet az AKS-fürtök és a Kubernetes-szolgáltatások konfigurálásához.
Hálózati teljesítményoptimalizálás megvalósítása a forgalom sávszélesség-lefoglalásához.
Grafikus feldolgozási egységek gyorsításának használata kiterjedt számítási feladatokhoz.
Közreműködők
A Microsoft fenntartja ezt a cikket. A következő közreműködők írták ezt a cikket.
Fő szerzők:
- Paramesh Babu | Fő programmenedzser
- Lisa DenBeste | Projektmenedzser programmenedzser
- Kenny Harder | Project Manager
- Mike Kostersitz | Vezető programmenedzser – érdeklődő
- Meg Olsen | Megbízó
- Nate Waters | Product Marketing Manager
Egyéb közreműködő:
- Walter Oliver | Vezető programmenedzser
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.