Kommentar
Å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.
Viktigt!
AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och frivillig registrering. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. AKS-förhandsversioner stöds delvis av kundsupport efter bästa förmåga. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:
Azure Kubernetes Application Network-arkitekturen är uppdelad i tre lager: ett hanteringsplan, ett kontrollplan och ett dataplan. Varje lager har olika ansvarsområden som tillsammans tillhandahåller en fullständigt hanterad, ambientbaserad tjänstnätverkslösning för Azure Kubernetes Service (AKS). Den här arkitekturen möjliggör säker, principdriven kommunikation mellan tjänster utan att kräva sidovagn eller ändringar i dina program.
Den här artikeln innehåller en översikt över arkitekturskikten i Azure Kubernetes Application Network, hur de interagerar och identifieringsmodellen för flera klustertjänster som möjliggör skalbar kommunikation mellan kluster. Mer information om Azure Kubernetes Application Network finns i Översikt över Azure Kubernetes Application Network för AKS.
Översikt över programnätverkets arkitekturlager
Arkitekturlagren hanterar följande ansvarsområden:
- Hanteringsplan: Hanterar Azure-resursåtgärder som att skapa, uppdatera och ta bort programnätverksresurser och hantera klustermedlemskap.
- Kontrollplan: Hanterar mesh-konfiguration, certifikatlivscykel och tjänstidentifiering för varje medlemskluster.
- Dataplanet: Skyddar trafik från tjänst till tjänst direkt i medlemsklustret med omgivande läge, vilket inte kräver några sidecars eller ändringar i dina program.
För distributioner med flera kluster synkroniserar Application Network information om tjänstidentifiering mellan medlemskluster så att tjänsterna kan kommunicera transparent över klustergränser.
Följande diagram illustrerar arkitekturskikten i Azure Kubernetes Application Network och hur de interagerar med varandra och med dina AKS-kluster:
Hanteringsplan
Hanteringsplanet är Azure-resursprovidern som hanterar alla programnätverksresursåtgärder. När du skapar en programnätverksresurs eller ansluter ett medlemskluster validerar hanteringsplanet begäran, etablerar stöd för Azure-resurser, till exempel Azure Key Vault för certifikatlagring, och samordnar skapandet av ett regionalt kontrollplan för medlemmen.
Du interagerar med hanteringsplanet via Azure CLI (az appnet) eller ARM-API:et. Administrationsplanet samordnar all tilldelning nedströms så att komponenterna i kontrollplanet och dataplanet implementeras utan manuell intervention.
Kontrollplan
Kontrollplanet är en fullständigt hanterad infrastruktur som körs utanför ditt AKS-kluster. När ett medlemskluster ansluter till ett programnätverk etableras ett dedikerat kontrollplan i samma Azure-region som medlemsklustret, vilket håller svarstiden mellan kontroll- och dataplanskomponenter låg.
Anmärkning
Medlemmar i olika Azure-regioner har kontrollplan distribuerade i sina respektive regioner.
Kontrollplanet innehåller följande komponenter:
- Istiod: Ansluter till medlemsklustrets Kubernetes API-server för att identifiera tjänster och hålla utkik efter konfigurationsändringar. Den pushar xDS-konfigurationen till ztunnel- och waypoint-proxies i dataplanet. I distributioner med flera kluster ansluter Istiod också till Kubernetes API-servrar i andra medlemskluster för att hämta information om tjänstidentifiering, vilket möjliggör identifiering av tjänster mellan kluster.
- Certifikathantering: Etablerar och roterar CA-certifikat som backas upp av Azure Key Vault. En rotcertifikatutfärdare upprättar en delad förtroendegräns för alla medlemskluster och varje medlem får en mellanliggande certifikatutfärdare som utfärdar kortlivade arbetsbelastningscertifikat. Mer information finns i Översikt över Säkerhet för Azure Kubernetes-programnätverk.
- Livscykelhantering: Distribuerar och uppgraderar alla dataplanskomponenter i medlemsklustret, inklusive ztunnel, Istio CNI, waypoint-proxyservrar och anpassade resursdefinitioner (CRD). Mer information finns i Konfigurera uppgraderingar för Azure Kubernetes Application Network-medlemmar.
Dataplanet
Dataplanet består av komponenter som distribueras till medlemsklustrets applink-system namnområde. Programnätverket använder miljöläget Istio, så det finns inga sidovagnar som matas in i dina arbetsbelastningar.
Dataplanet innehåller följande komponenter:
- Ztunnel: En L4-proxy på nodnivå som distribueras som en DaemonSet. Ztunnel fångar upp tjänst-till-tjänst-trafik på noden, upprättar mTLS-anslutningar transparent och tillämpar L4-auktoriseringsprinciper.
- Waypoint-proxyservrar: Valfria L7-proxyservrar per namnrymd som tillhandahåller HTTP-routning, trafikväxling, felinmatning och L7-auktorisering. Waypoint-proxyservrar distribueras endast när L7-principer har konfigurerats för ett namnområde.
- East-west gateway: Hanterar trafik mellan kluster i multi-cluster-miljöer. Du ansvarar för att tillhandahålla nätverksanslutning mellan öst-västliga gatewayer i varje medlemskluster. Mer information finns i Identifiering av flera klustertjänster.
- Istio CNI: En DaemonSet som konfigurerar poddnätverk för trafikavlyssning i omgivande nät.
- CRD: Kubernetes anpassade resursdefinitioner för att konfigurera trafikhanterings- och säkerhetsprinciper.
När en begäran görs mellan tjänster fångar ztunnel upp trafiken, upprättar en mTLS-anslutning med målets ztunnel och levererar begäran till målarbetsbelastningen. Om L7-principer konfigureras dirigeras trafiken via en waypoint-proxy innan den når målet. För trafik mellan kluster dirigerar ztunnel via den öst-västliga gatewayen för att nå arbetsbelastningar i fjärrmedlemskluster.
Identifiering av flera klustertjänster
Application Network stöder anslutning av flera AKS-kluster till ett enhetligt tjänstnät. Tjänster i ett medlemskluster kan kommunicera med tjänster i andra medlemskluster, med tvingande mTLS från slutpunkt till slutpunkt över klustergränser.
I istio-distributioner med öppen källkod ansluter kontrollplan vanligtvis till Kubernetes API-servrar i andra kluster för att identifiera tjänster och konfigurationsändringar. Application Network följer en liknande tjänstidentifieringsmodell, där kontrollplan hämtar tjänstinformation från medlemskluster så att tjänster kan identifieras över klustergränser. Med den här metoden kan arbetsbelastningar i ett medlemskluster lösa och kommunicera med tjänster som körs i andra kluster utan att kräva programändringar. Om du lägger till ett nytt medlemskluster utökas mesh-medlemskapet så att tjänster i det nya klustret kan identifieras av andra medlemmar.
Trafik mellan kluster flödar via öst-väst-gatewayer som distribueras i varje medlemskluster. Du ansvarar för att tillhandahålla nätverkstillgänglighet mellan de öst-västliga gatewayerna i dina medlemskluster, till exempel via VNet-peering, VPN eller andra anslutningslösningar. All trafik mellan kluster krypteras med mTLS.
Hur komponenter interagerar
Kontrollplanet ansluter till medlemsklustrets Kubernetes API-server, bevakar tjänst- och konfigurationsändringar och skickar xDS-uppdateringar till ztunnel- och waypoint-proxyservrar. När det finns flera medlemmar utbyter varje kontrollplan även tjänstinformation via hanterade meddelanden så att varje medlem har en konsekvent vy över alla tjänster i nätet.
Certifikathantering etablerar en rotcertifikatutfärdare när programnätverksresursen skapas och utfärdar mellanliggande certifikatutfärdare för varje medlemskluster. Arbetsbelastningscertifikat utfärdas med en giltighetsperiod på 24 timmar och roteras automatiskt var 12:e timme. Hela certifikatets livscykel, från rotcertifikatutfärdare via mellanliggande certifikat och arbetsbelastningscertifikat, hanteras utan manuella åtgärder.
Den fullständiga certifikathierarkin och rotationsschemat finns i Översikt över Azure Kubernetes Application Network-säkerhet.
Relaterat innehåll
Mer information om Azure Kubernetes Application Network finns i följande artiklar: