Dela via


Anpassad hälsoavsökning för Application Gateway för containrar

Application Gateway för containrar övervakar hälsotillståndet för alla serverdelsmål som standard. När serverdelsmålen blir felfria eller inte felfria distribuerar Application Gateway for Containers endast trafik till felfria slutpunkter.

Förutom att använda standardövervakning av hälsoavsökningar kan du även anpassa hälsoavsökningen så att den passar programmets krav. I den här artikeln beskrivs både standard- och anpassade hälsoavsökningar.

Ordningen och logiken för hälsoavsökning är följande:

  1. Använd definitionen av Anpassad resurs för HealthCheckPolicy (CR).
  2. Om det inte finns någon HealthCheckPolicy CR använder du beredskapsavsökning
  3. Om ingen beredskapsavsökning har definierats använder du standardhälsoavsökningen

Följande egenskaper utgör anpassade hälsoavsökningar:

Property Standardvärde
interval Hur ofta i sekunder hälsoavsökningar ska skickas till serverdelsmålet. Det minsta intervallet måste vara > 0 sekunder.
timeout Hur länge i sekunder begäran ska vänta tills den har markerats som ett fel. Det minsta intervallet måste vara > 0 sekunder.
healthyThreshold Antal hälsoavsökningar innan målslutpunkten markeras som felfri. Minimiintervallet måste vara > 0.
port Portnumret som används vid avsökning av serverdelsmålet.
unhealthyThreshold Antal hälsoavsökningar som ska misslyckas innan serverdelsmålet ska märkas som felfritt. Minimiintervallet måste vara > 0.
grpc Anges om serverdelstjänsten förväntar sig gRPC-anslutningar. Värdet måste vara {}.
(http) Anges om serverdelstjänsten förväntar sig http-anslutningar.
(http) värd Värdnamnet som anges i begäran till serverdelsmålet.
(http) sökväg Den specifika sökvägen för begäran. Om en enskild fil ska läsas in kan sökvägen vara /index.html.
(http -> match) statusCodes Innehåller två egenskaper och start end, som definierar intervallet med giltiga HTTP-statuskoder som returneras från serverdelen.
useTLS Anger om hälsokontrollen ska framtvinga TLS. Om det inte anges använder hälsokontrollen samma protokoll som tjänsten om samma port används för hälsokontroll. Om porten är annorlunda är hälsokontrollen klartext.

Ett diagram som visar Application Gateway för containrar som använder anpassade hälsoavsökningar för att fastställa serverdelshälsa.

Standardhälsoavsökning

Application Gateway för containrar konfigurerar automatiskt en standardhälsoavsökning när du inte definierar en anpassad avsökningskonfiguration eller konfigurerar en beredskapsavsökning. Övervakningsbeteendet fungerar genom att göra en HTTP GET-begäran till IP-adresserna för konfigurerade serverdelsmål. För standardavsökningar, om serverdelsmålet har konfigurerats för HTTPS, använder avsökningen HTTPS för att testa hälsotillståndet för serverdelsmålen.

Mer implementeringsinformation finns i HealthCheckPolicyConfig i API-specifikationen.

När standardhälsoavsökningen används används följande värden för varje hälsoavsökningsegenskap:

Property Standardvärde
interval 5 sekunder
timeout 30 sekunder
healthyThreshold 1 avsökning
unhealthyThreshold 3 avsökningar
port Det portnummer som används definieras av serverdelsportnumret i ingressresursen eller HttpRoute-serverdelsporten i HttpRoute-resursen.
(http) värd localhost
(http) sökväg /
useTLS HTTP för HTTP och HTTPS när TLS har angetts.

1 HTTPS används när en backendTLSPolicy refererar till en målserverdelstjänst (för gateway-API-implementering) eller IngressExtension med ett backendSetting-protokoll för HTTPS (för implementering av ingress-API) anges.

Kommentar

Hälsoavsökningar initieras med User-Agent värdet Microsoft-Azure-Application-LB/AGC.

Anpassad hälsoavsökning

I både Gateway API och Ingress API kan en anpassad hälsoavsökning definieras genom att definiera en HealthCheckPolicyPolicy-resurs och referera till en tjänst som hälsoavsökningarna ska kontrollera mot. Eftersom tjänsten refereras av en HTTPRoute- eller Ingress-resurs med en klassreferens till Application Gateway för containrar används den anpassade hälsoavsökningen för varje referens.

I det här exemplet skickar hälsoavsökningen som genereras av Application Gateway for Containers värdnamnet contoso.com till poddarna som utgör testtjänsten. Det begärda protokollet är http med sökvägen /. En avsökning genereras var 5:e sekund och väntar 3 sekunder innan tidsgränsen för anslutningen har överskrids. Om ett svar tas emot anses en HTTP-svarskod mellan 200 och 299 (inklusive 200 och 299) vara felfri, och alla andra svar anses vara felaktiga.

kubectl apply -f - <<EOF
apiVersion: alb.networking.azure.io/v1
kind: HealthCheckPolicy
metadata:
  name: gateway-health-check-policy
  namespace: test-infra
spec:
  targetRef:
    group: ""
    kind: Service
    name: test-service
    namespace: test-infra
  default:
    interval: 5s
    timeout: 3s
    healthyThreshold: 1
    unhealthyThreshold: 1
    port: 8123
    # grpc: {} # defined if probing a gRPC endpoint
    http:
      host: contoso.com
      path: /
      match:
        statusCodes: 
        - start: 200
          end: 299
    useTLS: true
EOF