Läs på engelska

Dela via


Ingress i Azure Kubernetes Service (AKS)

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.

Ingresskontrollanter

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 tjänsten 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.

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

Jämföra alternativ för ingress

I följande tabell visas funktionsskillnaderna mellan de olika alternativen för ingresskontrollanter:

Funktion Tillägg för programroutning Application Gateway for Containers Azure Service Mesh/Istio-baserat tjänstnät
Ingress/Gateway-styrenhet NGINX-ingresskontrollant Azure Application Gateway för containrar Ingressgateway för Istio
API Ingress-API API för ingress och gateway-API Ingress-API för Istio
Värd I klustret Azure värdhanterat I klustret
Skalning Automatisk skalning Automatisk skalning Automatisk skalning
Belastningsutjämning Intern/extern Externt Intern/extern
SSL-avslutning I klustret Ja: Avlastning och E2E SSL I klustret
mTLS Ej tillämpligt Ja till serverdel Ej tillämpligt
Statisk IP-adress Ej tillämpligt FQDN Ej tillämpligt
Azure Key Vault-lagrade SSL-certifikat Ja Ja Ej tillämpligt
Azure DNS-integrering för DNS-zonhantering Ja Ja Ej tillämpligt

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

Alternativ för ingress Användningsområde för
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.
• Stöder API:et ingress.
Application Gateway för containrar • 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, återhämtning i tillgänglighetszonen, ömsesidig autentisering (mTLS) till serverdelsmål, trafikdelning/viktad resursallokering 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

Anteckning

Gateway-API för Istio-ingresstrafik stöds ännu inte för Istio-tillägget, men är för närvarande under aktiv utveckling.

Skapa en ingressresurs

Tillägget för programroutning är det rekommenderade sättet att konfigurera en ingresskontrollant i AKS. Tillägget för programroutning är en fullständigt hanterad ingresskontrollant för Azure Kubernetes Service (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.

Mer information om tillägget för programroutning finns i Hanterad NGINX-ingress med tillägget för programroutning.

Ip-bevarande av klientkä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 IP-konservering av klientkällan på ingresskontrollanten kan du inte använda TLS-direkt. Ip-bevarande av klientkälla och TLS-direkt kan användas med andra tjänster, till exempel LoadBalancer-typen .

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.