Ingress i Azure Kubernetes Service (AKS)

Försiktighet

Kubernetes SIG Network och Security Response Committee tillkännagav den kommande avvecklingen av Ingress NGINX-projektet, med underhåll som slutar i mars 2026. Det krävs ingen omedelbar åtgärd i dag för AKS-kluster som använder tillägget för programroutning med NGINX. Microsoft tillhandahåller officiellt stöd för kritiska säkerhetskorrigeringar för tillägg för applikationsrouting av NGINX Ingress-resurser till november 2026.

AKS alignerar sig med uppströms Kubernetes genom att flytta till Gateway API som den långsiktiga standarden för ingress och L7-trafikhantering. Vi rekommenderar att du börjar planera migreringsvägen baserat på din aktuella konfiguration:

Ingress i AKS är en Kubernetes-resurs som hanterar extern HTTP-liknande trafikåtkomst till tjänster i ett kluster. En AKS-ingress kan tillhandahålla tjänster som belastningsutjämning, SSL-avslutning och namnbaserad virtuell värd. Mer information om Kubernetes Ingress finns i Kubernetes Ingress-dokumentationen.

För de flesta produktionsarbetsbelastningar börjar du med AKS Automatic. AKS Automatic är den rekommenderade produktionsklara standardinställningen i AKS och tillhandahåller hanterade standardvärden för nätverk, skalning, säkerhet, övervakning och uppgraderingar. För ingress innebär det att du kan börja med den hanterade ingressvägen och bara byta till mer specialiserade alternativ när du behöver mer detaljerad kontroll över topologi, routingbeteende eller integrering med service mesh.

Använd AKS Standard när du behöver mer explicit kontroll över val av ingångskontrollant, distributionstopologi eller avancerad nätverksintegrering.

AKS-klusterlägen och ingress

AKS stöder två klusterlägen:

  • AKS Automatisk: Rekommenderad startpunkt för de flesta produktionsarbetsbelastningar. Det minskar driftkostnaderna och ger dig hanterade standardvärden för ingående och relaterade nätverkskomponenter.
  • AKS Standard: Bäst när du behöver uttrycklig kontroll över drift av Ingress-kontroller, exponering av tjänster och avancerade mönster för trafikstyrning.

Vägledningen för ingress i den här artikeln gäller för båda lägena. Den största skillnaden är vem som äger mer av plattformens standardinställningar och hur mycket anpassning du behöver hantera direkt.

Ingresskontroller

När du hanterar programtrafik ger ingresskontrollanter avancerade funktioner genom att arbeta på nivå 7. De kan dirigera HTTP-trafik till olika program baserat på den inkommande URL:en, vilket möjliggör mer intelligenta och flexibla trafikdistributionsregler. En ingresskontrollant kan till exempel dirigera trafik till olika mikrotjänster beroende på URL-sökvägen, vilket ökar effektiviteten och organisationen av dina tjänster.

Å andra sidan konfigurerar en LoadBalancer-tjänst, när den skapas, en underliggande Azure-lastbalanserareresurs. Den här lastbalanseraren fungerar på lager 4 och distribuerar trafik till poddarna i din tjänst på en angiven port. Layer 4-tjänster känner dock inte till de faktiska programmen och kan inte implementera dessa typer av komplexa routningsregler.

Att förstå skillnaden mellan dessa två metoder hjälper dig att välja rätt verktyg för dina trafikhanteringsbehov.

Om du använder AKS Automatic börjar du med den hanterade ingresssökvägen först och använder endast mer specialiserade alternativ när din arbetsbelastning kräver dem. I AKS Standard har du större flexibilitet att välja den ingresskontrollant och topologi som bäst matchar din arkitektur.

Diagram som visar inkommande trafikflöde i ett AKS-kluster

Jämför alternativ för ingress

Jämförelse av funktioner

I följande tabell visas funktionsskillnaderna mellan de olika alternativen för ingresskontrollanter. För de flesta AKS-produktionsarbetsbelastningar är den rekommenderade standardsökvägen den hanterade ingressmetoden i AKS Automatic om du inte specifikt behöver anpassad routning, integrering av tjänstnät eller Azure värdbaserad ingress.

Funktionalitet Tillägg för programroutning Applikationsgateway för containrar Azure Service Mesh/Istio Service Mesh
Ingress/Gateway-styrenhet NGINX-ingresskontrollant Azure Application Gateway för containrar Ingress-Gateway för Istio
Application Programming Interface Ingress-API API för ingress och gateway-API Ingress-API för Istio
Webbhotell Inom kluster Azure värdhanterat Inom kluster
Skalning Automatisk skalning Automatisk skalning Automatisk skalning
Belastningsutjämning Intern/extern Externt Intern/extern
SSL-avslutning Inom kluster Ja: Offloading och E2E SSL Inom kluster
mTLS Ej tillämpligt Ja: klientdel och serverdel Ja
Statisk IP-adress Ja FQDN (ingen statisk IP) Ej tillämpligt
SSL-certifikat lagrade i Azure Key Vault Ja Ja Ej tillämpligt
Azure DNS-integrering för DNS-zonhantering Ja Ja Ej tillämpligt

När du bör använda respektive ingress-controller

I följande tabell visas de olika scenarier där du kan använda varje ingresskontrollant:

Alternativ för ingress När ska man använda
Hanterad NGINX – tillägg för programroutning • In-cluster värdbaserade, anpassningsbara och skalbara NGINX-ingresskontrollanter.
• Grundläggande funktioner för belastningsutjämning och routning.
• Intern och extern lastbalanserare.
• Konfiguration av statisk IP-adress.
• Integrering med Azure Key Vault för certifikathantering.
• Integrering med Azure DNS zoner för offentlig och privat DNS-hantering.
• Har stöd för Ingress API.
Application Gateway för container • Azure-värdbaserad ingressgateway.
• Flexibla distributionsstrategier som hanteras av kontrollanten eller ta med din egen Application Gateway för containrar.
• Avancerade trafikhanteringsfunktioner som automatiska återförsök, resiliens över tillgänglighetszoner, ömsesidig autentisering (mTLS) mot bakomliggande mål, trafikdelning / viktad round robin och automatisk skalning.
• Integrering med Azure Key Vault för certifikathantering.
• Integrering med Azure DNS zoner för offentlig och privat DNS-hantering.
• Stöder API:er för ingress och gateway.
Ingressgateway för Istio • Baserat på Envoy, när du använder med Istio för ett servicenät.
• Avancerade trafikhanteringsfunktioner som hastighetsbegränsning och kretsbrytning.
• Stöd för mTLS.

Kommentar

Istio-tillägget stöder för närvarande inte gateway-API för Ingress-trafik i Istio.

Skapa en ingressresurs

Application Routing-tillägget är det rekommenderade sättet att konfigurera en ingress-styrenhet i AKS, och det är det hanterade ingressalternativ man bör börja med i AKS Automatic för de flesta arbetslaster. Tillägget för programroutning är en fullständigt hanterad ingresskontrollant för AKS som tillhandahåller följande funktioner:

  • Enkel konfiguration av hanterade NGINX-ingresskontrollanter baserat på Kubernetes NGINX-ingresskontrollant.
  • Integrering med Azure DNS för offentlig och privat zonhantering.
  • SSL-avslutning med certifikat som lagras i Azure Key Vault.

För de flesta produktionsarbetsbelastningar är detta rätt standard att börja med. Om du behöver anpassad ingresstopologi, Azure-hostad ingress eller service mesh-beteende kan du byta till något av de andra ingressalternativen.

Mer information om tillägget Programroutning finns i Hanterad NGINX-ingress med tillägget Programroutning.

Bevarande av klientens IP-källa

Konfigurera ingresskontrollanten så att klientkällans IP-adress bevaras på begäranden till containrar i AKS-klustret. När ingresskontrollanten dirigerar en klients begäran till en container i AKS-klustret är den ursprungliga käll-IP-adressen för den begäran inte tillgänglig för målcontainern. När du aktiverar IP-bevarande av klientkällan är käll-IP för klienten tillgängligt i begärandehuvudet under X-Forwarded-For.

Om du använder bevarande av klientens käll-IP på ingresskontrollenheten kan du inte använda TLS-genomsläpp. Bevarande av klientkällas IP-adress och TLS-pass-through kan användas med andra tjänster, till exempel typen LoadBalancer.

Detta är fortfarande ett viktigt designval i både AKS Automatic och AKS Standard, eftersom käll-IP-hantering påverkar observerbarhet, granskning och programbeteende oavsett klusterläge.

Mer information om IP-bevarande av klientkälla finns i Så här fungerar IP-bevarande av klientkälla för LoadBalancer Services i AKS.