Megosztás a következőn keresztül:


Az Application Gateway bejövőforgalom-vezérlőjének megjegyzései

A Kubernetes Bejövő forgalom erőforrás tetszőleges kulcs/érték párokkal jegyzetelhető. Az AGIC az Application Gateway olyan funkcióinak programozására támaszkodik, amelyek nem konfigurálhatók a bejövő YAML használatával. A bejövőjegyzeteket a rendszer a bejövő erőforrásból származó összes HTTP-beállításra, háttérkészletre és figyelőre alkalmazza.

Támogatott széljegyzetek listája

Ahhoz, hogy egy bejövő erőforrást az AGIC megfigyeljen, megjegyzést kell fűznie a következőhöz kubernetes.io/ingress.class: azure/application-gateway: . Az AGIC csak ezután működik a szóban forgó bejövő erőforrással.

Széljegyzetkulcs Értéktípus Alapértelmezett érték Megengedett értékek
appgw.ingress.kubernetes.io/backend-path-prefix string nil
appgw.ingress.kubernetes.io/backend-hostname string nil
appgw.ingress.kubernetes.io/health-probe-hostname string 127.0.0.1
appgw.ingress.kubernetes.io/health-probe-port int32 80
appgw.ingress.kubernetes.io/health-probe-path string /
appgw.ingress.kubernetes.io/health-probe-status-code string 200-399
appgw.ingress.kubernetes.io/health-probe-interval int32 30 (másodperc)
appgw.ingress.kubernetes.io/health-probe-timeout int32 30 (másodperc)
appgw.ingress.kubernetes.io/health-probe-unhealthy-threshold int32 3
appgw.ingress.kubernetes.io/ssl-redirect bool false
appgw.ingress.kubernetes.io/connection-draining bool false
appgw.ingress.kubernetes.io/connection-draining-timeout int32 (másodperc) 30
appgw.ingress.kubernetes.io/use-private-ip bool false
appgw.ingress.kubernetes.io/override-frontend-port bool false
appgw.ingress.kubernetes.io/cookie-based-affinity bool false
appgw.ingress.kubernetes.io/request-timeout int32 (másodperc) 30
appgw.ingress.kubernetes.io/use-private-ip bool false
appgw.ingress.kubernetes.io/backend-protocol string http http, https
appgw.ingress.kubernetes.io/hostname-extension string nil
appgw.ingress.kubernetes.io/waf-policy-for-path string nil
appgw.ingress.kubernetes.io/appgw-ssl-certificate string nil
appgw.ingress.kubernetes.io/appgw-ssl-profile string nil
appgw.ingress.kubernetes.io/appgw-trusted-root-certificate string nil
appgw.ingress.kubernetes.io/rewrite-rule-set string nil
appgw.ingress.kubernetes.io/rewrite-rule-set-custom-resource
appgw.ingress.kubernetes.io/rule-priority int32 nil

Háttér elérési út előtagja

Az alábbi széljegyzet lehetővé teszi, hogy a bemeneti erőforrásban megadott háttérbeli elérési út újraírása a megjegyzésben megadott előtaggal legyen megadva. Lehetővé teszi a felhasználók számára, hogy olyan szolgáltatásokat tegyenek közzé, amelyek végpontjai eltérnek a bejövő erőforrásban lévő szolgáltatás közzétett végpontneveinél.

Használat

appgw.ingress.kubernetes.io/backend-path-prefix: <path prefix>

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-bkprefix
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/backend-path-prefix: "/test/"
spec:
  rules:
  - http:
      paths:
      - path: /hello/
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 80

Az előző példában egy széljegyzettel appgw.ingress.kubernetes.io/backend-path-prefix: "/test/"elnevezett go-server-ingress-bkprefix bejövő erőforrást definiált. A széljegyzet arra utasítja az Application Gatewayt, hogy hozzon létre egy HTTP-beállítást, amely az elérési út /hello előtagjának felülbírálásával rendelkezik /test/.

Feljegyzés

A fenti példában csak egy szabály van definiálva. A széljegyzetek azonban a teljes bejövő erőforrásra vonatkoznak, ezért ha egy felhasználó több szabályt definiál, a háttérútvonal előtagja minden megadott útvonalhoz be lesz állítva. Ha egy felhasználó eltérő elérésiút-előtagokkal rendelkező szabályokat szeretne (akár ugyanarra a szolgáltatásra vonatkozóan is), különböző bejövő erőforrásokat kell definiálnia.

Háttérrendszer gazdagépneve

Ezzel a megjegyzéssel megadhatja az Application Gateway által a podokkal való beszélgetés során használni kívánt állomásnevet.

Használat

appgw.ingress.kubernetes.io/backend-hostname: "internal.example.com"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-timeout
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/backend-hostname: "internal.example.com"
spec:
  rules:
  - http:
      paths:
      - path: /hello/
        backend:
          service:
            name: store-service
            port:
              number: 80
        pathType: Exact

Egyéni állapotadat-mintavétel

Az Application Gateway konfigurálható úgy, hogy egyéni állapotmintákat küldjön a háttércímkészletbe. Ha ezek a széljegyzetek megjelennek, a Kubernetes Bejövőforgalom-vezérlő létrehoz egy egyéni mintavételt a háttéralkalmazás figyeléséhez, és alkalmazza a módosításokat az application gatewayre.

health-probe-hostname: Ez a megjegyzés lehetővé teszi az egyéni állomásnevet az állapotadat-mintavételen.
health-probe-port: Ez a megjegyzés egyéni állapotadat-mintavételi portot konfigurál.
health-probe-path: Ez a széljegyzet az állapotadat-mintavétel elérési útját határozza meg.
health-probe-status-code: Ez a megjegyzés lehetővé teszi, hogy az állapotadat-mintavétel különböző HTTP-állapotkódokat fogadjon el.
health-probe-interval: Ez a széljegyzet határozza meg azt az időközt, amelyen az állapotadat-mintavétel fut.
health-probe-timeout: Ez a megjegyzés azt határozza meg, hogy az állapotadat-mintavétel mennyi ideig várjon a válaszra, mielőtt a mintavétel meghiúsul.
health-probe-unhealthy-threshold: Ez a megjegyzés azt határozza meg, hogy hány állapotmintának kell meghiúsulnia ahhoz, hogy a háttérrendszer kifogástalan állapotúként legyen megjelölve.

Használat

appgw.ingress.kubernetes.io/health-probe-hostname: "contoso.com"
appgw.ingress.kubernetes.io/health-probe-port: 80
appgw.ingress.kubernetes.io/health-probe-path: "/"
appgw.ingress.kubernetes.io/health-probe-status-code: "100-599"
appgw.ingress.kubernetes.io/health-probe-interval: 30
appgw.ingress.kubernetes.io/health-probe-timeout: 30
appgw.ingress.kubernetes.io/health-probe-unhealthy-threshold: 2

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/health-probe-hostname: "contoso.com"
    appgw.ingress.kubernetes.io/health-probe-port: 81
    appgw.ingress.kubernetes.io/health-probe-path: "/probepath"
    appgw.ingress.kubernetes.io/health-probe-status-code: "100-599"
    appgw.ingress.kubernetes.io/health-probe-interval: 31
    appgw.ingress.kubernetes.io/health-probe-timeout: 31
    appgw.ingress.kubernetes.io/health-probe-unhealthy-threshold: 2
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 80

TLS-átirányítás

Az Application Gateway konfigurálható úgy, hogy a HTTP URL-címeket automatikusan átirányítsa a HTTPS-megfelelőikre. Ha ez a megjegyzés jelen van, és a TLS megfelelően van konfigurálva, a Kubernetes bejövőforgalom-vezérlő létrehoz egy átirányítási konfigurációval rendelkező útválasztási szabályt, és alkalmazza a módosításokat az Application Gatewayre. A létrehozott átirányítás HTTP 301 Moved Permanentlylesz.

Használat

appgw.ingress.kubernetes.io/ssl-redirect: "true"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-redirect
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
   - hosts:
     - www.contoso.com
     secretName: testsecret-tls
  rules:
  - host: www.contoso.com
    http:
      paths:
      - backend:
          service:
            name: websocket-repeater
            port:
              number: 80

Kapcsolat ürítése

connection-draining: Ezzel a megjegyzéssel megadhatja, hogy engedélyezve legyen-e a kapcsolat ürítése. connection-draining-timeout: Ez a megjegyzés lehetővé teszi egy időtúllépés megadását, amely után az Application Gateway leállítja a kéréseket a lefolyó háttérvégpontra.

Használat

appgw.ingress.kubernetes.io/connection-draining: "true"
appgw.ingress.kubernetes.io/connection-draining-timeout: "60"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-drain
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/connection-draining: "true"
    appgw.ingress.kubernetes.io/connection-draining-timeout: "60"
spec:
  rules:
  - http:
      paths:
      - path: /hello/
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 80

Az alábbi megjegyzés lehetővé teszi annak megadását, hogy engedélyezi-e a cookie-alapú affinitást.

Használat

appgw.ingress.kubernetes.io/cookie-based-affinity: "true"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-affinity
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/cookie-based-affinity: "true"
spec:
  rules:
  - http:
      paths:
      - path: /hello/
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 80

Kérelem időtúllépése

Az alábbi széljegyzet lehetővé teszi a kérés időtúllépésének másodpercben történő megadását, amely után az Application Gateway nem fogadja el a kérést, ha a válasz nem érkezik meg.

Használat

appgw.ingress.kubernetes.io/request-timeout: "20"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-timeout
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/request-timeout: "20"
spec:
  rules:
  - http:
      paths:
      - path: /hello/
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 80

Privát IP-cím használata

Az alábbi megjegyzés lehetővé teszi annak megadását, hogy a végpontot az Application Gateway privát IP-címén tegye-e elérhetővé.

Feljegyzés

  • A privát IP-címmel nem rendelkező Application Gateway esetében a bejövő forgalom appgw.ingress.kubernetes.io/use-private-ip: "true" figyelmen kívül lesz hagyva. Ez tükröződik a vezérlő naplóiban és a figyelmeztetéssel rendelkező NoPrivateIP bejövő bejövő eseményekben.

Használat

appgw.ingress.kubernetes.io/use-private-ip: "true"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-privateip
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/use-private-ip: "true"
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 80

Előtérbeli port felülbírálása

A széljegyzet lehetővé teszi, hogy konfiguráljon egy előtérbeli figyelőt, hogy a 80/443-nál eltérő portokat használjon a http/https-hez.

Ha a port az App Gw engedélyezett tartományán belül van (1–64999), a figyelő ezen az adott porton jön létre. Ha érvénytelen port van beállítva a széljegyzetben, a konfiguráció az alapértelmezett 80-ra vagy a 443-ra csökken.

Használat

appgw.ingress.kubernetes.io/override-frontend-port: "port"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-overridefrontendport
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/override-frontend-port: "8080"
spec:
  rules:
  - http:
      paths:
      - path: /hello/
        backend:
          service:
            name: store-service
            port:
              number: 80
        pathType: Exact

Feljegyzés

A külső kérésnek meg kell céloznia http://somehost:8080 ahelyett, hogy http://somehost.

Háttérprotokoll

Az alábbi megjegyzés lehetővé teszi az Application Gateway által a podokkal való kommunikáció során használni kívánt protokoll megadását. A támogatott protokollok a következők: http és https.

Feljegyzés

Bár az Önaláírt tanúsítványok támogatottak az Application Gatewayen, az AGIC jelenleg csak akkor támogatja https , ha a podok egy jól ismert hitelesítésszolgáltató által aláírt tanúsítványt használnak.

Ne használja a 80-s portot HTTPS-vel, a 443-at pedig HTTP-vel a podokon.

Használat

appgw.ingress.kubernetes.io/backend-protocol: "https"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-timeout
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/backend-protocol: "https"
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 443

Gazdagépnév-bővítmény

Az Application Gateway több gazdagépnév elfogadására is konfigurálható. A hostname-extention megjegyzés ezt lehetővé teszi, ha lehetővé teszi több gazdagépnév definiálását, beleértve a helyettesítő gazdagépneveket is. Ez hozzáfűzi a gazdagépneveket az előtérbeli figyelő bejövőforgalom-spec.rules.host fájljában definiált teljes tartománynévhez, így többhelyes figyelőként van konfigurálva.

Használat

appgw.ingress.kubernetes.io/hostname-extension: "hostname1, hostname2"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-multisite
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/hostname-extension: "hostname1, hostname2"
spec:
  rules:
  - host: contoso.com
    http:
      paths:
      - path: /
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 443

Feljegyzés

A fenti példában a figyelő úgy lett konfigurálva, hogy fogadja el a "hostname1.contoso.com" és a "hostname2.contoso.com" gazdagépnevek forgalmát.

WAF-szabályzat elérési úthoz

Ez a megjegyzés lehetővé teszi, hogy egy már létrehozott WAF-szabályzatot csatoljon egy kubernetes bejövő erőforrásban lévő gazdagép listaútvonalaihoz, amelyeket megjegyzésként használ.

Használat

appgw.ingress.kubernetes.io/waf-policy-for-path: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/AGICWAFPolcy"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ad-server-ingress
  namespace: commerce
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/waf-policy-for-path: "/subscriptions/abcd/resourceGroups/rg/providers/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/adserver"
spec:
  rules:
  - http:
      paths:
      - path: /ad-server
        backend:
          service:
            name: ad-server
            port:
              number: 80
        pathType: Exact
      - path: /auth
        backend:
          service:
            name: auth-server
            port:
              number: 80
        pathType: Exact

Feljegyzés

A WAF-szabályzat a /ad-server és a /auth URL-címekre is érvényes lesz.

Application Gateway SSL-tanúsítvány

Az SSL-tanúsítvány konfigurálható az Application Gatewayre egy helyi PFX-tanúsítványfájlból, vagy az Azure Key Vault nem felügyelt titkos azonosítójára mutató hivatkozásból. Ha a széljegyzet egy tanúsítványnévvel rendelkezik, és a tanúsítvány előre telepítve van az Application Gatewayben, a Kubernetes Bejövőforgalom-vezérlő létrehoz egy útválasztási szabályt egy HTTPS-figyelővel, és alkalmazza a módosításokat az App Gatewayre. Az appgw-ssl-certificate széljegyzetek SSL-átirányítás esetén ssl-átirányítással együtt is használhatók.

További részletekért tekintse meg az appgw-ssl-certificate funkciót.

Feljegyzés

Az "appgw-ssl-certificate" megjegyzés figyelmen kívül lesz hagyva, ha a TLS Spec egyidejűleg van definiálva a bejövő forgalomban. Ha egy felhasználó különböző tanúsítványokat szeretne különböző gazdagépekkel (több tls-tanúsítvány leállítása), különböző bejövő erőforrásokat kell definiálnia.

Használat

appgw.ingress.kubernetes.io/appgw-ssl-certificate: "name-of-appgw-installed-certificate"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-certificate
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: "name-of-appgw-installed-certificate"
spec:
  rules:
  - host: www.contoso.com
    http:
      paths:
      - backend:
          service:
            name: websocket-repeater
            port:
              number: 80

Application Gateway SSL-profil

A felhasználók figyelőnként konfigurálhatnak ssl-profilt az Application Gatewayen. Ha a széljegyzet profilnévvel jelenik meg, és a profil előre telepítve van az Application Gatewayben, a Kubernetes Bejövőforgalom-vezérlő létrehoz egy útválasztási szabályt egy HTTPS-figyelővel, és alkalmazza a módosításokat az App Gatewayre.

Használat

appgw.ingress.kubernetes.io/appgw-ssl-certificate: "name-of-appgw-installed-certificate"
appgw.ingress.kubernetes.io/appgw-ssl-profile: "SampleSSLProfile"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-certificate
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: "name-of-appgw-installed-certificate"
    appgw.ingress.kubernetes.io/appgw-ssl-profile: "SampleSSLProfile"
spec:
  rules:
  - host: www.contoso.com
    http:
      paths:
      - backend:
          service:
            name: websocket-repeater
            port:
              number: 80

Az Application Gateway megbízható főtanúsítványa

A felhasználók mostantól konfigurálhatják saját főtanúsítványaikat az Application Gatewayre, hogy megbízhatók legyenek az AGIC-en keresztül. Az appgw-trusted-root-certificate annotation backend-protocol használatával a végpontok közötti SSL-titkosítást, több főtanúsítványt, vesszővel elválasztva, ha meg van adva, például "name-of-my-root-cert1,name-of-my-root-certificate2".

Használat

appgw.ingress.kubernetes.io/backend-protocol: "https"
appgw.ingress.kubernetes.io/appgw-trusted-root-certificate: "name-of-my-root-cert1"

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-certificate
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/backend-protocol: "https"
    appgw.ingress.kubernetes.io/appgw-trusted-root-certificate: "name-of-my-root-cert1"
spec:
  rules:
  - host: www.contoso.com
    http:
      paths:
      - backend:
          service:
            name: websocket-repeater
            port:
              number: 80

Szabálykészlet újraírása

Az alábbi megjegyzés lehetővé teszi, hogy egy meglévő újraírási szabályt rendeljen a megfelelő kérelem-útválasztási szabályhoz.

Használat

appgw.ingress.kubernetes.io/rewrite-rule-set: <rewrite rule set name>

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-bkprefix
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/rewrite-rule-set: add-custom-response-header
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 8080

Szabálykészlet egyéni erőforrásának átírása

Feljegyzés

Megjelent az Application Gateway for Containers , amely számos teljesítményt, rugalmasságot és funkciómódosítást vezet be. Fontolja meg az Application Gateway for Containers használatára a következő üzembe helyezéshez. Az Application Gateway for Containers URL-átírási szabályai itt találhatók az Átjáró API-hoz és itt a Bejövő API-hoz. Az Application Gateway for Containers fejlécátírási szabályai itt találhatók az Átjáró API-hoz.

Feljegyzés

Ez a funkció 1.6.0-rc1 óta támogatott. Használja appgw.ingress.kubernetes.io/rewrite-rule-set, amely lehetővé teszi egy meglévő újraírási szabálykészlet használatát az Application Gatewayen.

Az Application Gateway lehetővé teszi a kérések és válaszok kiválasztott tartalmának újraírását. Ezzel a funkcióval lefordíthatja az URL-címeket, a lekérdezési sztring paramétereit, valamint módosíthatja a kérés- és válaszfejléceket. Emellett feltételeket is megadhat, hogy az URL-cím vagy a megadott fejlécek csak bizonyos feltételek teljesülése esetén legyenek újraírva. Ezek a feltételek a kérelem és a válasz információin alapulnak. A szabálykészlet egyéni erőforrásának átírása ezt a funkciót az AGIC-be helyezi.

A HTTP-fejlécek lehetővé teszik, hogy az ügyfél és a kiszolgáló további információkat adjon át egy kéréssel vagy válaszsal. Ezeknek az élőfejeknek az újraírásával fontos feladatokat hajthat végre, például biztonsági fejlécmezőket adhat hozzá, például HSTS/ X-XSS-Protection, eltávolíthatja a bizalmas információkat felfedő válaszfejmezőket, és eltávolíthatja a portadatokat az X-Forwarded-For fejlécekből.

Az URL-átírási funkcióval a következő lehetőségek közül választhat: – Írja át a kérelem URL-címének állomásnevét, elérési útját és lekérdezési sztringét – Válassza az összes kérelem URL-címét, vagy csak azokat a kéréseket, amelyek megfelelnek a megadott feltételek egy vagy több feltételének. Ezek a feltételek a kérés- és választulajdonságokon alapulnak (kérelemfejléc, válaszfejléc és kiszolgálóváltozók). – Válassza ki, hogy a kérést az eredeti VAGY az újraírt URL-cím alapján kívánja-e átirányítani

Használat

appgw.ingress.kubernetes.io/rewrite-rule-set-custom-resource

Példa

apiVersion: appgw.ingress.azure.io/v1beta1 
kind: AzureApplicationGatewayRewrite 
metadata: 
  name: my-rewrite-rule-set-custom-resource 
spec: 
  rewriteRules: 
  - name: rule1 
    ruleSequence: 21
    conditions:
  - ignoreCase: false
    negate: false
    variable: http_req_Host
    pattern: example.com
  actions:
    requestHeaderConfigurations:
    - actionType: set
      headerName: incoming-test-header
      headerValue: incoming-test-value
    responseHeaderConfigurations:
    - actionType: set
      headerName: outgoing-test-header
      headerValue: outgoing-test-value
    urlConfiguration:
      modifiedPath: "/api/"
      modifiedQueryString: "query=test-value"
      reroute: false

Szabályprioritás

Ez a megjegyzés lehetővé teszi, hogy az Application Gateway bejövőforgalom-vezérlője explicit módon beállítsa a társított kérelem-útválasztási szabályok prioritását.

Használat

appgw.ingress.kubernetes.io/rule-priority:

Példa

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-rulepriority
  namespace: test-ag
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/rule-priority: 10
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Exact
        backend:
          service:
            name: go-server-service
            port:
              number: 8080

A fenti példában a kérés-útválasztási szabály prioritása 10.