Dela via


Nätverksbegrepp för program i Azure Kubernetes Service (AKS)

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 program med hög tillgänglighet genom att belastningsutjämning dina program.
  • 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.

  • Kube-proxykomponent: kube-proxy körs på varje nod och ansvarar för att tillhandahålla nödvändiga nätverksfunktioner.

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-plattformen:

  • Azure effektiviserar virtuella nätverk för AKS-kluster (Azure Kubernetes Service).
  • När du skapar en Kubernetes-lastbalanserare i Azure konfigureras motsvarande Azure-lastbalanserareresurs samtidigt.
  • När du öppnar nätverksportar för poddar konfigurerar Azure automatiskt de nödvändiga reglerna för nätverkssäkerhetsgrupper.
  • Azure kan också hantera externa DNS-konfigurationer för HTTP-programroutning när nya inkommande vägar upprättas.

Virtuella Azure-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 virtuella Azure-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 från samma virtuella Azure-nätverk som AKS-noderna. All trafik som lämnar dina kluster är inte SNAT'd och podd-IP-adressen exponeras direkt för målet. Den här modellen kan vara användbar för scenarier som att exponera podd-IP-adresser för externa tjänster.

Mer information om nätverksmodeller i AKS finns i CNI-nätverk i AKS.

Kontrollera utgående trafik (utgående)

AKS-kluster distribueras i ett virtuellt nätverk och har utgående beroenden på tjänster utanför det virtuella nätverket. Dessa utgående beroenden definieras nästan helt och hållet med fullständigt kvalificerade domännamn (FQDN). 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 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 alla nödvändiga regler för nätverkssäkerhetsgrupper.

Du behöver inte konfigurera NSG-regler manuellt för att filtrera trafik för poddar i ett AKS-kluster. Du kan definiera alla nödvändiga portar och vidarebefordran som en del av Kubernetes Service-manifesten och låta Azure-plattformen skapa eller uppdatera lämpliga regler.

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.

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:

  • Serverdelsprogram exponeras endast för nödvändiga klientdelstjä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 Skydda trafik 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 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: