Application Gateway för containrar-komponenter

Den här artikeln innehåller detaljerade beskrivningar och krav för komponenter i Application Gateway för containrar. Information om hur Application Gateway för containrar accepterar inkommande begäranden och dirigerar dem till ett serverdelsmål tillhandahålls. En allmän översikt över Application Gateway för containrar finns i Vad är Application Gateway för containrar.

Kärnkomponenter

  • En Application Gateway for Containers-resurs är en överordnad Azure-resurs som distribuerar kontrollplanet.
  • Kontrollplanet ansvarar för att samordna proxykonfigurationen baserat på kundens avsikt.
  • Application Gateway för containrar har två underordnade resurser. associationer och klientdelar.
    • Underordnade resurser är endast exklusiva för sin överordnade Application Gateway för containrar och kanske inte refereras av en annan Application Gateway för containerresurs.

Application Gateway för containrar-klientdelar

  • En Application Gateway for Containers-klientdelsresurs är en underordnad Azure-resurs för den överordnade resursen Application Gateway for Containers.
  • En Application Gateway for Containers-klientdel definierar att startpunktens klienttrafik ska tas emot av en viss Application Gateway för containrar.
    • En klientdel kan inte associeras till flera Application Gateway för containrar.
    • Varje klientdel tillhandahåller ett unikt FQDN som kan refereras av en kunds CNAME-post.
    • Privata IP-adresser stöds för närvarande inte.
  • En enda Application Gateway för containrar kan ha stöd för flera klientdelar.

Application Gateway för containrar-associationer

  • En Application Gateway for Containers-associationsresurs är en underordnad Azure-resurs för den överordnade resursen Application Gateway for Containers.
  • En Application Gateway for Containers-association definierar en anslutningspunkt till ett virtuellt nätverk. En association är en 1:1-mappning av en associationsresurs till ett Azure-undernät som har delegerats.
  • Application Gateway för containrar är utformat för att tillåta flera associationer.
    • För närvarande är det aktuella antalet associationer begränsat till 1.
  • När en association skapas etableras det underliggande dataplanet och ansluts till ett undernät i det definierade virtuella nätverkets undernät.
  • Varje association bör anta att minst 256 adresser är tillgängliga i undernätet vid tidpunkten för etableringen.
    • Minst /24 undernätsmask för varje distribution (förutsatt att inga resurser tidigare har etablerats i undernätet).
      • Om n antal Application Gateway för containrar etableras, med antagandet att varje Application Gateway för containrar innehåller en association, och avsikten är att dela samma undernät, bör de tillgängliga nödvändiga adresserna vara n*256.
    • Alla Application Gateway for Containers-associationsresurser ska matcha samma region som den överordnade resursen application gateway för containrar.

Application Gateway för containrar ALB-styrenhet

  • En Application Gateway for Containers ALB-styrenhet är en Kubernetes-distribution som samordnar konfigurationen och distributionen av Application Gateway för containrar genom att titta på Kubernetes både anpassade resurser och resurskonfigurationer, till exempel, men inte begränsat till, Ingress, Gateway och ApplicationLoadBalancer. Den använder både ARM/Application Gateway for Containers-konfigurations-API:er för att sprida konfigurationen till Azure-distributionen för Application Gateway for Containers.
  • ALB-styrenheten distribueras/installeras via Helm.
  • ALB-styrenheten består av två poddar som körs.
    • alb-controller-podden ansvarar för att orkestrera kundens avsikt till Application Gateway för containrars belastningsutjämningskonfiguration.
    • alb-controller-bootstrap pod ansvarar för hantering av CRD:er.

Azure/allmänna begrepp

Privat IP-adress

  • En privat IP-adress definieras inte uttryckligen som en Azure Resource Manager-resurs. En privat IP-adress refererar till en specifik värdadress i ett visst virtuellt nätverks undernät.

Delegering av undernät

  • Microsoft.ServiceNetworking/trafficControllers är namnområdet som antagits av Application Gateway för containrar och kan delegeras till ett virtuellt nätverks undernät.
  • När delegering sker sker inte etablering av Application Gateway for Containers-resurser, och det finns inte heller någon exklusiv mappning till en Application Gateway for Containers-associationsresurs.
  • Valfritt antal undernät kan ha en delegering av undernät som är densamma eller som skiljer sig från Application Gateway för containrar. När det har definierats kan inga andra resurser, förutom den definierade tjänsten, etableras i undernätet om de inte uttryckligen definieras av tjänstens implementering.

Användartilldelad hanterad identitet

  • Hanterade identiteter för Azure-resurser eliminerar behovet av att hantera autentiseringsuppgifter i kod.
  • En användarhanterad identitet krävs för att varje Azure Load Balancer-kontrollant ska kunna göra ändringar i Application Gateway för containrar.
  • AppGw for Containers Configuration Manager är en inbyggd RBAC-roll som gör att ALB-styrenheten kan komma åt och konfigurera application gateway för containrar-resursen.

Kommentar

Rollen AppGw for Containers Configuration Manager har dataåtgärdsbehörigheter som rollerna Ägare och Deltagare inte har. Det är viktigt att rätt behörigheter delegeras för att förhindra problem med att ALB-kontrollanten gör ändringar i application gateway för containrar.It is critical proper permissions are delegated to prevent issues with ALB Controller making changes to the Application Gateway for Containers service.

Så accepterar Application Gateway för containrar en begäran

Varje Application Gateway for Containers-klientdel innehåller ett genererat fullständigt kvalificerat domännamn som hanteras av Azure. FQDN kan användas som det är eller så kan kunder välja att maskera FQDN med en CNAME-post.

Innan en klient skickar en begäran till Application Gateway för containrar löser klienten ett CNAME som pekar på klientdelens fullständiga domännamn. eller så kan klienten direkt matcha det FQDN som tillhandahålls av Application Gateway för containrar med hjälp av en DNS-server.

DNS-matcharen översätter DNS-posten till en IP-adress.

När klienten initierar begäran skickas det angivna DNS-namnet som värdhuvud till Application Gateway för containrar på den definierade klientdelen.

En uppsättning routningsregler utvärderar hur begäran om värdnamnet ska initieras till ett definierat serverdelsmål.

Hur Application Gateway för containrar dirigerar en begäran

HTTP/2-begäranden

Application Gateway för containrar har fullt stöd för HTTP/2-protokoll för kommunikation från klienten till klientdelen. Kommunikation från Application Gateway för containrar till serverdelsmålet använder HTTP/1.1-protokollet. HTTP/2-inställningen är alltid aktiverad och kan inte ändras. Om klienter föredrar att använda HTTP/1.1 för sin kommunikation till klientdelen av Application Gateway för containrar kan de fortsätta att förhandla i enlighet med detta.

Ändringar i begäran

Application Gateway för containrar infogar tre extra huvuden till alla begäranden innan begäranden initieras från Application Gateway för containrar till ett serverdelsmål:

  • x-forwarded-for
  • x-forwarded-proto
  • x-request-id

x-forwarded-for är den ursprungliga beställarens klient-IP-adress. Om begäran kommer via en proxy lägger rubrikvärdet till den mottagna adressen, kommaavgränsad. I exempel: 1.2.3.4,5.6.7.8; där 1.2.3.4 är klientens IP-adress till proxyn framför Application Gateway för containrar, och 5.6.7.8 är adressen till proxyn som vidarebefordrar trafik till Application Gateway för containrar.

x-forwarded-proto returnerar protokollet som tas emot av Application Gateway för containrar från klienten. Värdet är antingen http eller https.

x-request-id är ett unikt guid som genereras av Application Gateway för containrar för varje klientbegäran och som visas i den vidarebefordrade begäran till serverdelsmålet. Guid består av 32 alfanumeriska tecken, avgränsade med bindestreck (till exempel: d23387ab-e629-458a-9c93-6108d374bc75). Det här guid:et kan användas för att korrelera en begäran som tas emot av Application Gateway för containrar och initieras till ett serverdelsmål enligt definitionen i åtkomstloggarna.

Tidsgränser för begäranden

Application Gateway för containrar framtvingar följande tidsgränser när begäranden initieras och underhålls mellan klienten, AGC och serverdelen.

Timeout Varaktighet beskrivning
Tidsgräns för förfrågan 60 sekunder tid då AGC väntar på serverdelsmålsvaret.
Tidsgräns för HTTP-inaktivitet 5 minuter timeout för inaktivitet innan du stänger en HTTP-anslutning.
Tidsgräns för strömaktivitet 5 minuter timeout för inaktivitet innan du stänger en enskild dataström som utförs av en HTTP-anslutning.
Överordnad Anslut timeout 5 sekunder tid för att upprätta en anslutning till serverdelsmålet.