Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln beskrivs begreppet Kubernetes-resurshantering med hubbkluster som kontrollplan med Azure Kubernetes Fleet Manager.
Översikt
Att hantera Kubernetes-resurser i flera kluster innebär stora utmaningar för både plattformsadministratörer och programutvecklare. När organisationer skalar sin Kubernetes-infrastruktur bortom ett enda kluster stöter de ofta på komplexiteter som rör resursdistribution, konsekvensunderhåll och manuella hanteringskostnader. Den traditionella metoden att hantera varje kluster självständigt skapar operativa silor som blir allt svårare att underhålla när flottans storlek växer.
Hanteringsutmaningar för flera kluster
Övergången från några få kluster till Kubernetes-infrastruktur med flera kluster introducerar en ny kategori av driftsutmaningar som sträcker sig bortom traditionell containerorkestrering. Dessa utmaningar skiljer sig åt för olika intressentgrupper i en organisation, var och en med olika krav och begränsningar.
Plattformsadministratörer behöver ofta distribuera Kubernetes-resurser till flera kluster av olika skäl, till exempel:
- Kör infrastrukturprogram: Kritiska systemkomponenter som övervakningslösningar (Prometheus, Grafana), verktyg för kontinuerlig distribution (Flux, ArgoCD), nätverksprinciper, säkerhetsskannrar och loggningsaggregeringar måste distribueras konsekvent i alla kluster för att upprätthålla driftsynlighet och efterlevnad.
- Resursoptimering: Organisationer vill ha bättre användning av kluster med olika egenskaper, inklusive varierande kostnadsprofiler (spotinstanser jämfört med på begäran), specialiserade maskinvarufunktioner (GPU-aktiverade noder, högminnesinstanser) och prestandanivåer för att optimera arbetsbelastningsplacering baserat på krav och budgetbegränsningar.
- Efterlevnad och styrning: Regelverk kräver specifika krav på datahemvist, säkerhetskontroller och granskningsfunktioner som kräver noggranna strategier för klusterval och resursplacering.
På samma sätt behöver programutvecklare ofta distribuera Kubernetes-resurser till flera kluster av olika skäl, till exempel:
- Geografisk distribution: Moderna program föredrar ofta närhet till slutanvändare för att minimera svarstiden, uppfylla kraven på datasuveränitet och ge optimala användarupplevelser. Närhetsinställningen kräver att programkomponenter distribueras i flera geografiska regioner samtidigt som konsekvens och samordning bibehålls.
- Hög tillgänglighet: Affärskritiska program måste upprätthålla tjänstens tillgänglighet även vid regionala avbrott, infrastrukturfel eller planerade underhållsperioder. Distributioner mellan regioner med automatiserade redundansfunktioner säkerställer affärskontinuitet och uppfyller stränga serviceavtalskrav (SLA).
Komplexiteten i manuell hantering av flera kluster blir uppenbar när organisationer försöker skala bortom några få kluster. Manuella processer som fungerar för små klusterflottor blir snabbt flaskhalsar när infrastrukturen växer.
Manuella hanteringsutmaningar för flera kluster
- Driftkomplexitet: Den administrativa bördan för att skapa, uppdatera och spåra resurser individuellt i flera kluster växer exponentiellt med flottans storlek. Varje kluster kräver separat autentisering, kontextväxling och manuell verifiering, vilket leder till ökad tidsinvestering och högre sannolikhet för mänskliga fel.
- Konfigurationsavvikelse: Utan centraliserade kontrollmekanismer leder manuella processer oundvikligen till inkonsekvenser mellan kluster över tid. Dessa inkonsekvenser kan manifesteras som olika resursversioner, varierande konfigurationer eller saknade komponenter, vilket skapar oförutsägbara beteenden och felsökningsutmaningar.
- Skalbarhetsbegränsningar: Manuella processer som fungerar tillräckligt för små flottor blir alltmer opraktiska när organisationer skalas till dussintals eller hundratals kluster. Den linjära ökningen av hanteringskostnaderna överskrider slutligen den tillgängliga administrativa kapaciteten.
- Brist på synlighet: Omfattande spårning av resursversioner, resurshälsa och driftsmått i flera kluster kräver betydande samordning och anpassade verktyg. Utan centraliserad observerbarhet kämpar teamen för att upprätthålla situationsmedvetenhet och effektivt svara på problem.
Övergripande arkitektur för resurshantering med flera kluster
Azure Kubernetes Fleet Manager hanterar de grundläggande utmaningarna med resurshantering med flera kluster via en omfattande plattform som bygger på ett molnbaserat projekt med öppen källkod och Kubernetes-inbyggda API:er. Lösningen använder kraften och flexibiliteten i anpassade resursdefinitioner (CRD) för att utöka Kubernetes deklarativa modell till scenarier med flera kluster. Den här metoden upprätthåller den välbekanta Kubernetes-driftsmodellen samtidigt som dess funktioner utökas för att hantera åtgärder i flottskala. Här är några av de viktigaste principerna och fördelarna med lösningen:
Hub-and-spoke-kontrollplan
Hub-and-spoke-arkitekturen anger ett centraliserat hubbkluster som kontrollplan, vilket eliminerar behovet av att hantera varje kluster oberoende av varandra. Det här arkitekturmönstret ger:
- Centraliserad hantering: En enda kontrollpunkt för verksamhet som omfattar hela flottan, vilket minskar de administrativa kostnaderna.
- Konsekvent API-upplevelse: Enhetlig interaktion i hela infrastrukturen, vilket säkerställer enkel användning.
- Förbättrad observerbarhet: Centraliserade övervaknings- och hanteringsfunktioner för bättre situationsmedvetenhet och snabbare problemlösning.
Kubernetes-inbyggd tilläggsmodell
Lösningen bygger på CNCF-projektet och utökar Kubernetes deklarativa modell via anpassade resursdefinitioner (CRD) i stället för att ersätta den. Detta säkerställer:
- Kunskaper: Kubernetes-utövare kan utnyttja befintliga kunskaper och verktyg.
- Kompatibilitet: Sömlös integrering med befintliga Kubernetes-arbetsflöden och verktyg.
- Cloud-Native Justering: Efterlevnad av molnbaserade principer och kompatibilitet med CNCF-ekosystemet.
Avancerade schemaläggnings- och distributionsstrategier
Lösningen innehåller avancerade schemaläggningsmekanismer och progressiva distributionsstrategier, vilket möjliggör:
- Deklarativa placeringsprinciper: Placering av arbetsbelastningar baserat på klusteregenskaper som kostnad, resurstillgänglighet och geografisk plats.
- Gradvis utrullning: Kontrollerad distribution av uppdateringar med säkerhetsmekanismer för att minimera riskerna.
- Drifthantering: Säkerställer konsekventa resursversioner och konfigurationer mellan kluster, vilket minskar inkonsekvenser i driften.
Viktiga fördelar
Genom att införa Azure Kubernetes Fleet Manager kan organisationer uppnå:
- Skalbarhet: Hantera flottor av valfri storlek effektivt, från några få kluster till hundratals.
- Driftseffektivitet: Minska manuell ansträngning och mänskliga fel genom automatisering och centraliserad kontroll.
- Motståndskraft: Säkerställ hög tillgänglighet och haveriberedskap genom intelligenta strategier för resursplacering och redundans.
Ett exempel på YAML-fil om hur man kan använda Azure Kubernetes Fleet Manager API för att hantera arbetsbelastningar med flera kluster visas i följande diagram.
Nästa steg
Azure Kubernetes Service