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.
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.
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.
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.
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.
Feedback om Azure Kubernetes Service
Azure Kubernetes Service är ett öppen källkod projekt. Välj en länk för att ge feedback: