URL-omskrivning för Azure Application Gateway för containrar – Gateway-API
Artikel
Med Application Gateway för containrar kan du skriva om URL:en för en klientbegäran, inklusive begärandenas värdnamn och/eller sökväg. När Application Gateway for Containers initierar begäran till serverdelsmålet innehåller begäran den nyligen omskrivna URL:en för att initiera begäran.
Användningsinformation
URL-omskrivningar drar nytta av filter som definierats av Kubernetes Gateway API.
Bakgrund
Med url-omskrivning kan du översätta en inkommande begäran till en annan URL när den initieras till ett serverdelsmål.
Följande bild illustrerar ett exempel på en begäran som är avsedd för contoso.com/shop som skrivs om till contoso.com/ecommerce. Begäran initieras till serverdelsmålet av Application Gateway för containrar:
Förutsättningar
Om du följer BYO-distributionsstrategin kontrollerar du att du konfigurerar application gateway för containrar och ALB-styrenhet.
Om du följer ALB-strategin för hanterad distribution ser du till att du etablerar ALB-styrenheten och etablerar Application Gateway för containrar-resurser via den anpassade resursen ApplicationLoadBalancer.
Distribuera HTTP-exempelprogram:
Använd följande deployment.yaml-fil i klustret för att skapa ett exempelwebbprogram för att demonstrera stöd för trafikdelning/viktad resursallokering.
När ALB-styrenheten skapar Application Gateway for Containers-resurser i ARM använder den följande namngivningskonvention för en klientdelsresurs: fe-8< slumpmässigt genererade tecken>
RESOURCE_GROUP='<resource group name of the Application Gateway For Containers resource>'
RESOURCE_NAME='alb-test'
RESOURCE_ID=$(az network alb show --resource-group $RESOURCE_GROUP --name $RESOURCE_NAME --query id -o tsv)
FRONTEND_NAME='frontend'
När gatewayen har skapats skapar du en HTTPRoute-resurs för contoso.com. Det här exemplet säkerställer att trafik som skickas till contoso.com/shop initieras till contoso.com/ecommerce serverdelsmålet.
När HTTPRoute-resursen har skapats kontrollerar du att HTTPRoute-resursen visar Godkänd och att Application Gateway for Containers-resursen är programmerad.
Bash
kubectl get httproute rewrite-example -n test-infra -o yaml
Kontrollera att Application Gateway for Containers-resursen har uppdaterats för varje HTTPRoute.
Nu är vi redo att skicka trafik till vårt exempelprogram via det FQDN som tilldelats klientdelen. Använd följande kommando för att hämta FQDN.
Bash
fqdn=$(kubectl get gateway gateway-01 -n test-infra -o jsonpath='{.status.addresses[0].value}')
När du anger indikatorn för servernamn med hjälp av curl-kommandot contoso.com/shop bör du returnera ett svar från backend-v1-tjänsten med den begärda sökvägen till serverdelsmålet som visar contoso.com/ecommerce.
Grattis, du har installerat ALB Controller och distribuerat ett serverdelsprogram som innehåller filtrering för att skriva om den begärda URL:en för klienten. Målet för Application Gateway för containrar är redo att ta emot trafik.
I den här modulen lär du dig att förbättra programresiliensen genom att distribuera belastning över flera servrar och använda sökvägsbaserad routning för att dirigera webbtrafik.