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.
I en containerbaserad mikrotjänstmetod för programutveckling arbetar programkomponenter tillsammans för att bearbeta sina uppgifter. Kubernetes tillhandahåller olika resurser som möjliggör det här samarbetet:
- Du kan ansluta till och exponera program internt eller externt.
- Du kan skapa applikationer med hög tillgänglighet genom att belastningsutjämna dina applikationer.
- Du kan begränsa flödet av nätverkstrafik till eller mellan poddar och noder för att förbättra säkerheten.
- Du kan konfigurera inkommande trafik för SSL/TLS-avslutning eller routning av flera komponenter för dina mer komplexa program.
Den här artikeln beskriver de grundläggande begreppen som tillhandahåller nätverk till dina program i AKS:
Grunderna i Kubernetes-nätverk
Kubernetes använder ett virtuellt nätverkslager för att hantera åtkomst inom och mellan dina program eller deras komponenter:
Kubernetes-noder och virtuella nätverk: Kubernetes-noder är anslutna till ett virtuellt nätverk. Den här konfigurationen gör det möjligt för poddar (grundläggande distributionsenheter i Kubernetes) att ha både inkommande och utgående anslutning.
Tjänstroutningskomponent: Beroende på nätverksdataplanet använder noder antingen
kube-proxyeller Cilium för Kubernetes Service-routning. AKS-kluster som använder Azure CNI med Cilium använder intekube-proxy.
När det gäller specifika Kubernetes-funktioner:
- Lastbalanserare: Du kan använda en lastbalanserare för att fördela nätverkstrafiken jämnt över olika resurser.
- Ingresskontrollanter: Dessa underlättar Layer 7-routning, vilket är viktigt för att dirigera programtrafik.
- Utgående trafikkontroll: Med Kubernetes kan du hantera och styra utgående trafik från klusternoder.
- Nätverksprinciper: Dessa principer möjliggör säkerhetsåtgärder och filtrering för nätverkstrafik i poddar.
I samband med Azure plattform:
- Azure effektiviserar virtuella nätverk för AKS-kluster (Azure Kubernetes Service).
- När du skapar en Kubernetes-lastbalanserare på Azure konfigureras motsvarande Azure lastbalanserarresurs samtidigt.
- När du skapar en Kubernetes-tjänst
LoadBalancerkonfigurerar Azure nödvändiga regler för nätverkssäkerhetsgrupp för tjänsttrafik på resurser som hanteras av AKS. - Azure kan också hantera externa DNS-konfigurationer för HTTP-programroutning när nya Ingress routes etableras.
Azure virtuella nätverk
I AKS kan du distribuera ett kluster som använder någon av följande nätverksmodeller:
- Överläggsnätverksmodell: Överläggsnätverk är den vanligaste nätverksmodellen som används i Kubernetes. Poddar får en IP-adress från en privat, logiskt separat CIDR från det Azure virtuella nätverksundernätet där AKS-noder distribueras. Den här modellen möjliggör enklare och bättre skalbarhet jämfört med den platta nätverksmodellen.
- Platt nätverksmodell: En platt nätverksmodell i AKS tilldelar IP-adresser till poddar från ett undernät i samma Azure virtuella nätverk som AKS-noderna. För trafik i privata nätverk beror vilken käll-IP-adress som målet ser på vilket alternativ för IP-adresshantering (IPAM) som används. Azure CNI Pod Subnet bevarar poddens IP-adress i anslutna virtuella nätverk. Med Azure CNI Node-undernät kan mål i klustrets virtuella nätverk se poddens IP-adress, men mål utanför det virtuella klustrets virtuella nätverk ser nodens IP-adress. För utgående internettrafik bestämmer den konfigurerade utgående metoden den offentliga käll-IP-adress som internetdestinationer ser.
Mer information om nätverksmodeller i AKS finns i CNI-nätverk i AKS.
Kontrollera utgående trafik
AKS-kluster distribueras i ett virtuellt nätverk och har utgående beroenden på tjänster utanför det virtuella nätverket, som nästan helt definieras med fullständigt kvalificerade domännamn (FQDN). AKS innehåller flera alternativ för utgående konfiguration som gör att du kan anpassa hur dessa externa resurser används.
Viktigt!
Från och med March 31, 2026 har Azure Kubernetes Service (AKS) inte längre stöd för standardutgående åtkomst för virtuella datorer (VM). Nya AKS-kluster som använder alternativet AKS-hanterat virtuellt nätverk placerar klusterundernät i privata undernät som standard (defaultOutboundAccess = false). Den här inställningen påverkar inte AKS-hanterad klustertrafik, som använder explicit konfigurerade utgående sökvägar. Det kan påverka scenarier som inte stöds, till exempel distribution av andra resurser till samma undernät. Kluster som använder virtuella BYO-nätverk påverkas inte av den här ändringen. I konfigurationer som stöds krävs ingen åtgärd. Mer information om den här avvecklingen finns i meddelandet Azure Updates avvecklingsmeddelande. Om du vill hålla dig informerad om meddelanden och uppdateringar följer du AKS-viktig information.
Konfigurationsalternativ för utgående trafik
Mer information om de utgående konfigurationstyperna för AKS-kluster som stöds finns i Anpassa klusterutgående med utgående typer i Azure Kubernetes Service (AKS).
Som standard har AKS-kluster obegränsad utgående (utgående) Internetåtkomst, vilket gör att de noder och tjänster som du kör får åtkomst till externa resurser efter behov. Om du vill kan du begränsa utgående trafik.
Mer information om hur du begränsar utgående trafik från klustret finns i Kontrollera utgående trafik för klusternoder i AKS.
Nätverkssäkerhetsgrupper
En nätverkssäkerhetsgrupp filtrerar trafik för virtuella datorer som AKS-noderna. När du skapar tjänster, till exempel en LoadBalancer, konfigurerar Azure-plattformen automatiskt de nödvändiga reglerna för nätverkssäkerhetsgrupper för tjänsttrafik på resurser som hanteras av AKS.
AKS tillämpar inte nätverkssäkerhetsgrupper på sitt undernät eller ändrar nätverkssäkerhetsgrupper som du associerar med ett kundbaserat undernät. Om du associerar en nätverkssäkerhetsgrupp med ett anpassat undernät måste du se till att dess regler tillåter nödvändig nod- och poddtrafik. Mer information finns i krav för AKS CNI-nätverk.
Du kan också använda nätverksprinciper för att automatiskt tillämpa trafikfilterregler på poddar.
Mer information finns i Hur nätverkssäkerhetsgrupper filtrerar nätverkstrafik.
Krav för anpassat virtuellt nätverk
När du använder ett anpassat virtuellt nätverk med AKS-kluster ska du, om du lägger till regler för nätverkssäkerhetsgrupp för att begränsa trafiken mellan undernät, se till att reglerna tillåter den trafik som krävs av klusterkonfigurationen.
API Server VNet-integrering är förkonfigurerad i AKS Automatic. I AKS Standard är funktionen valfri och du måste aktivera den explicit. När klustret använder API Server VNet-integrering tillåter du följande trafik:
| Resmål | Källa | Protokoll | Hamn | Använd |
|---|---|---|---|---|
| APIServer-undernät CIDR | Klusterundernät | TCP | 443 och 4443 | Krävs för att aktivera kommunikation mellan noder och API-servern. |
| APIServer-undernät CIDR | Azure Load Balancer | TCP | 9988 | Krävs för att aktivera kommunikation mellan Azure Load Balancer och API-servern. Du kan också aktivera all kommunikation mellan Azure Load Balancer och API Server-undernätets CIDR. |
Mer information finns i API Server VNet-integrering.
För nod- och poddkommunikation tillåter du följande trafik när reglerna för nätverkssäkerhetsgrupper begränsar motsvarande CIDR-intervall:
| Resmål | Källa | Protokoll | Hamn | Använd |
|---|---|---|---|---|
| Nod-CIDR | Nod-CIDR | Alla protokoll | Alla portar | Krävs för att aktivera kommunikation mellan noder. |
| Pod-CIDR | Nod-CIDR | Alla protokoll | Alla portar | Krävs för tjänsttrafikroutning. |
| Pod-CIDR | Pod-CIDR | Alla protokoll | Alla portar | Krävs för podd-till-podd- och podd-till-tjänst-trafik, inklusive DNS. |
De tillämpliga nod- och podd-CIDR-intervallen beror på klustrets nätverksmodell. Mer information finns i krav för AKS CNI-nätverk.
DNS-upplösning
DNS-matchning är viktigt för tjänstidentifiering och kommunikation i AKS. Som standard använder AKS CoreDNS för att tillhandahålla intern namnmatchning för poddar och tjänster.
För bättre DNS-prestanda och tillförlitlighet erbjuder AKS LocalDNS, som distribuerar en DNS-proxy på varje nod. LocalDNS löser frågor lokalt, vilket minskar svarstiden och eliminerar conntrack tabelltryck från DNS-trafik. Du kan konfigurera LocalDNS för att leverera cachelagrade svar vid avbrott i uppströms-DNS, men cachelagring av inaktuella svar sker enligt principen best effort. LocalDNS är särskilt fördelaktigt i stora kluster eller miljöer med höga DNS-frågevolymer.
LocalDNS är förkonfigurerat i AKS Automatic. I AKS Standard är LocalDNS valfritt och konfigurerat per nodpool. Innan du aktiverar den i AKS Standard kontrollerar du kubernetes-versionen, nodoperativsystemet och SKU-kraven för virtuella datorer. Om du aktiverar LocalDNS på en befintlig nodpool återskapas noderna. Förutsättningar och distributionsplanering finns i Konfigurera LocalDNS.
Nätverksprinciper
Som standard kan alla poddar i ett AKS-kluster skicka och ta emot trafik utan begränsningar. För förbättrad säkerhet definierar du regler som styr trafikflödet, till exempel:
- Bakgrundsprogram exponeras endast för nödvändiga frontend-tjänster.
- Databaskomponenter är endast tillgängliga för de programnivåer som ansluter till dem.
Nätverksprincip är en Kubernetes-funktion som är tillgänglig i AKS som gör att du kan styra trafikflödet mellan poddar. Du kan tillåta eller neka trafik till podden baserat på inställningar som tilldelade etiketter, namnrymd eller trafikport. Nätverkssäkerhetsgrupper är bättre för AKS-noder, men nätverksprinciper är ett mer anpassat, molnbaserat sätt att styra flödet av trafik för poddar. Eftersom poddar skapas dynamiskt i ett AKS-kluster kan nödvändiga nätverksprinciper tillämpas automatiskt.
Mer information finns i Säkerhetstrafik mellan poddar med hjälp av nätverksprinciper i Azure Kubernetes Service (AKS).
Nästa steg
Kom igång med AKS-nätverk genom att skapa och konfigurera ett AKS-kluster med dina egna IP-adressintervall med hjälp av Azure CNI Overlay eller Azure CNI.
Rekommenderade metoder finns i Metodtips för nätverksanslutning och säkerhet i AKS.
Mer information om grundläggande Kubernetes- och AKS-begrepp finns i följande artiklar: