Bagikan melalui


Anotasi untuk Application Gateway Ingress Controller

Anda dapat membuat anotasi sumber daya ingress Kubernetes dengan pasangan kunci/nilai arbitrer. Application Gateway Ingress Controller (AGIC) bergantung pada anotasi untuk memprogram fitur Azure Application Gateway yang tidak dapat dikonfigurasi melalui YAML ingress. Anotasi ingress diterapkan ke semua pengaturan HTTP, kumpulan backend, dan listener yang berasal dari sumber daya ingress.

Petunjuk

Pertimbangkan Application Gateway for Containers sebagai solusi pintu masuk Kubernetes Anda. Untuk informasi lebih lanjut, lihat Quickstart: Deploy Application Gateway for Containers ALB Controller.

Daftar anotasi yang didukung

Agar AGIC mengamati sumber daya ingress, sumber daya harus dianotasi dengan kubernetes.io/ingress.class: azure/application-gateway.

Kunci anotasi Jenis nilai Nilai standar Nilai yang diizinkan
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-codes string 200-399
appgw.ingress.kubernetes.io/health-probe-interval int32 30 (detik)
appgw.ingress.kubernetes.io/health-probe-timeout int32 30 (detik)
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 (detik) 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]
(#batas-waktu-permintaan) int32 (detik) 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 (Set aturan penulisan ulang) string nil
appgw.ingress.kubernetes.io/rewrite-rule-set-custom-resource
appgw.ingress.kubernetes.io/rule-priority int32 nil

Prefiks Jalur ujung belakang

Anotasi berikut memungkinkan jalur backend yang ditentukan dalam sumber daya ingress untuk ditulis ulang dengan awalan yang ditentukan. Gunakan untuk mengekspos layanan yang titik akhirnya berbeda dari nama titik akhir yang Anda gunakan untuk mengekspos layanan dalam sumber daya ingress.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-bkprefix
  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

Contoh sebelumnya mendefinisikan sumber daya ingress bernama go-server-ingress-bkprefix dengan anotasi bernama appgw.ingress.kubernetes.io/backend-path-prefix: "/test/". Anotasi memberi tahu Application Gateway untuk membuat pengaturan HTTP dengan penggantian awalan jalur dari jalur /hello ke /test/.

Contoh hanya mendefinisikan satu aturan. Namun, anotasi berlaku untuk seluruh sumber daya ingress. Jadi, jika Anda menentukan beberapa aturan, Anda menyiapkan awalan jalur backend untuk setiap jalur yang ditentukan. Jika Anda menginginkan aturan yang berbeda dengan awalan jalur yang berbeda (bahkan untuk layanan yang sama), Anda perlu menentukan sumber daya ingress yang berbeda.

Nama Host Backend

Gunakan anotasi berikut untuk menentukan nama host yang harus digunakan Application Gateway saat berbicara dengan pod.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-timeout
  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

Uji Kesehatan Khusus

Anda dapat mengonfigurasi Application Gateway untuk mengirim pemeriksaan kesehatan kustom ke kumpulan alamat backend. Ketika anotasi berikut ada, pengontrol ingress Kubernetes membuat probe kustom untuk memantau aplikasi backend. Pengontrol kemudian menerapkan perubahan pada Application Gateway.

  • health-probe-hostname: Anotasi ini memungkinkan nama host kustom pada deteksi status kesehatan.
  • health-probe-port: Anotasi ini mengonfigurasi port kustom untuk pengujian kesehatan.
  • health-probe-path: Anotasi ini mendefinisikan jalur untuk pemeriksaan kesehatan.
  • health-probe-status-codes: Anotasi ini memungkinkan pengecekan kesehatan untuk menerima kode status HTTP yang berbeda.
  • health-probe-interval: Anotasi ini mendefinisikan interval di mana pemeriksaan kesehatan dilakukan.
  • health-probe-timeout: Anotasi ini mendefinisikan berapa lama probe kesehatan menunggu respons sebelum gagal.
  • health-probe-unhealthy-threshold: Anotasi ini mendefinisikan berapa banyak probe kesehatan yang harus gagal agar backend ditandai sebagai tidak sehat.

Penggunaan

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-codes: "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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress
  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-codes: "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

Pengalihan TLS

Anda dapat mengonfigurasi Application Gateway untuk mengalihkan URL HTTP secara otomatis ke mitra HTTPS mereka. Ketika anotasi ini ada dan TLS dikonfigurasi dengan benar, controller ingress Kubernetes membuat aturan perutean dengan konfigurasi pengalihan. Pengontrol kemudian menerapkan perubahan pada instans Application Gateway Anda. Pengalihan yang dibuat adalah HTTP 301 Moved Permanently.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-redirect
  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

Pengurasan Koneksi

Gunakan anotasi berikut jika Anda ingin menggunakan pengurasan koneksi:

  • connection-draining: Anotasi ini menentukan apakah akan mengaktifkan pengurasan koneksi.
  • connection-draining-timeout: Anotasi ini menentukan batas waktu, setelah itu Application Gateway mengakhiri permintaan ke titik akhir backend yang menguras.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-drain
  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

Gunakan anotasi berikut untuk mengaktifkan afinitas berbasis cookie.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-affinity
  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

Permintaan Kedaluwarsa

Gunakan anotasi berikut untuk menentukan batas waktu permintaan dalam detik. Setelah batas waktu berakhir, Application Gateway gagal memproses permintaan jika respons tidak diterima.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-timeout
  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

Gunakan IP Pribadi

Gunakan anotasi berikut untuk menentukan apakah akan mengekspos titik akhir ini pada alamat IP privat Application Gateway.

Untuk instans Application Gateway yang tidak memiliki IP privat, ingress dengan appgw.ingress.kubernetes.io/use-private-ip: "true" diabaikan. Log pengendali dan peristiwa masuk untuk ingress tersebut menunjukkan peringatan NoPrivateIP.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-privateip
  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

Mengganti Port Frontend

Gunakan anotasi berikut untuk mengonfigurasi pendengar frontend untuk menggunakan port selain 80 untuk HTTP dan 443 untuk HTTPS.

Jika port berada dalam rentang resmi Application Gateway (1 hingga 64999), pendengar dibuat pada port tertentu ini. Jika Anda mengatur port yang tidak valid atau tidak ada port dalam anotasi, konfigurasi menggunakan default 80 atau 443.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-overridefrontendport
  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

Catatan

Permintaan eksternal perlu menargetkan http://somehost:8080 alih-alih http://somehost.

Protokol ujung belakang

Gunakan hal berikut untuk menentukan protokol yang harus digunakan Application Gateway saat berkomunikasi dengan pod. Protokol yang didukung adalah HTTP dan HTTPS.

Meskipun sertifikat yang ditandatangani sendiri didukung di Application Gateway, AGIC saat ini hanya mendukung HTTPS ketika pod menggunakan sertifikat yang ditandatangani oleh otoritas sertifikat terkenal.

Jangan gunakan port 80 dengan HTTPS dan port 443 dengan HTTP pada pod.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-timeout
  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

Ekstensi Nama Host

Anda dapat mengonfigurasi Application Gateway untuk menerima beberapa nama host. hostname-extension Gunakan anotasi untuk menentukan beberapa nama host, termasuk nama host kartubebas. Tindakan ini menambahkan nama host ke FQDN yang ditentukan dalam informasi masuk spec.rules.host pada pendengar frontend, sehingga dikonfigurasi sebagai pendengar multisitus.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-multisite
  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

Contoh sebelumnya mengonfigurasi pendengar untuk menerima lalu lintas untuk nama hostname1.contoso.com host dan hostname2.contoso.com.

Kebijakan WAF untuk Rute

Gunakan anotasi berikut untuk melampirkan kebijakan firewall aplikasi web (WAF) yang ada ke daftar jalur untuk host dalam sumber daya ingress Kubernetes yang sedang diannotasi. Kebijakan WAF diterapkan pada /ad-server URL dan /auth .

Penggunaan

appgw.ingress.kubernetes.io/waf-policy-for-path: "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SampleRG/providers/Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies/AGICWAFPolcy"

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ad-server-ingress
  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

Sertifikat SSL Application Gateway

Anda dapat mengonfigurasi sertifikat SSL untuk Application Gateway dari file sertifikat PFX lokal atau referensi ke ID rahasia tanpa versi di Azure Key Vault. Ketika terdapat catatan dengan nama sertifikat dan sertifikat tersebut sudah dipasang di Application Gateway, pengontrol ingress Kubernetes kemudian membuat aturan perutean dengan pendengar HTTPS dan menerapkan perubahan tersebut pada instans Application Gateway Anda. Anda juga dapat menggunakan appgw-ssl-certificate anotasi bersama dengan anotasi ssl-redirect dalam kasus pengalihan SSL.

Catatan

Anotasi appgw-ssl-certificate diabaikan ketika spesifikasi TLS didefinisikan dalam ingress secara bersamaan. Jika Anda menginginkan sertifikat yang berbeda dengan host yang berbeda (penghentian beberapa sertifikat TLS), Anda perlu menentukan sumber daya ingress yang berbeda.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-certificate
  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

Profil SSL Gerbang Aplikasi

Anda dapat mengonfigurasi profil SSL pada instans Application Gateway per pendengar. Ketika anotasi ada dengan nama profil dan profil telah diinstal sebelumnya di Application Gateway, pengontrol ingress Kubernetes membuat aturan penelusuran dengan penerima HTTPS, lalu menerapkan perubahan pada instans Application Gateway Anda.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-certificate
  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

Sertifikat Root Tepercaya Application Gateway

Anda sekarang dapat mengonfigurasi sertifikat akar Anda sendiri ke Application Gateway untuk dipercaya melalui AGIC. Anda dapat menggunakan appgw-trusted-root-certificate anotasi bersama dengan backend-protocol anotasi untuk menunjukkan enkripsi SSL end-to-end. Jika Anda menentukan beberapa sertifikat akar, pisahkan dengan koma; misalnya, name-of-my-root-cert1,name-of-my-root-cert2.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-certificate
  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

Menulis Ulang Set Aturan

Gunakan anotasi berikut untuk menetapkan aturan penulisan ulang yang sudah ada ke aturan perutean permintaan yang sesuai.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-bkprefix
  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

Menulis ulang Sumber Daya Kustom Seperangkat Aturan

Catatan

Rilis Application Gateway untuk Kontainer memperkenalkan banyak performa, ketahanan, dan perubahan fitur. Pertimbangkan menggunakan Application Gateway untuk Containers bagi penyebaran Anda selanjutnya.

Anda dapat menemukan aturan penulisan ulang URL untuk Application Gateway untuk Kontainer dalam artikel ini tentang API Gateway dan artikel ini tentang API Ingress. Anda dapat menemukan aturan penulisan ulang header untuk Application Gateway untuk Kontainer dalam artikel ini tentang Gateway API.

Application Gateway memungkinkan Anda menulis ulang konten permintaan dan respons yang dipilih. Dengan fitur ini, Anda dapat menerjemahkan URL, mengubah parameter string kueri, dan mengubah header permintaan dan respons. Anda juga dapat menggunakan fitur ini untuk menambahkan kondisi untuk memastikan bahwa URL atau header yang ditentukan ditulis ulang hanya ketika kondisi tertentu terpenuhi. Menulis ulang Sumber Daya Kustom Seperangkat Aturan membawa fitur ini ke AGIC.

Header HTTP memungkinkan klien dan server untuk meneruskan informasi tambahan dengan permintaan atau respons. Dengan menulis ulang header ini, Anda dapat menyelesaikan tugas penting seperti menambahkan bidang header terkait keamanan (misalnya, HSTS atau X-XSS-Protection), menghapus bidang header respons yang mungkin mengungkapkan informasi sensitif, dan menghapus informasi port dari X-Forwarded-For header.

Dengan kemampuan penulisan ulang URL, Anda dapat:

  • Tulis ulang nama host, jalur, dan string kueri URL permintaan.
  • Pilih untuk menulis ulang URL semua permintaan atau hanya permintaan yang cocok dengan satu atau beberapa kondisi yang Anda tetapkan. Kondisi ini didasarkan pada properti permintaan dan respons (header permintaan, header respons, dan variabel server).
  • Pilih untuk merutekan permintaan berdasarkan URL asli atau URL yang ditulis ulang.

Catatan

Fitur ini didukung sejak 1.6.0-rc1. Gunakan appgw.ingress.kubernetes.io/rewrite-rule-set, yang memungkinkan penggunaan seperangkat aturan penulisan ulang yang ada di Application Gateway.

Penggunaan

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

Contoh

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

Prioritas Aturan

Anotasi berikut memungkinkan pengontrol masuk Application Gateway secara eksplisit mengatur prioritas aturan perutean permintaan terkait.

Penggunaan

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

Contoh

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: go-server-ingress-rulepriority
  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

Contoh sebelumnya menetapkan prioritas 10 untuk aturan pengalihan permintaan.

Langkah berikutnya