Instal CRD API Gateway Terkelola di Azure Kubernetes Service (AKS)

API Gateway Kubernetes adalah spesifikasi untuk manajemen lalu lintas pada kluster Kubernetes. Spesifikasi ini meningkatkan API Ingress, yang tidak memiliki pendekatan terpadu dan agnostik penyedia untuk perutean lalu lintas tingkat lanjut.

Penginstalan API Gateway Terkelola untuk Azure Kubernetes Service (AKS) menginstal Definisi Sumber Daya Kustom (CRD) untuk API Gateway Kubernetes. Anda dapat menginstal CRD ini secara independen dari implementasi API Gateway tertentu.

Nota

Penginstalan API Gateway Terkelola hanya menginstal dan mengelola CRD API Gateway. Anda dapat menggunakan CRD ini dengan implementasi API Gateway Anda sendiri, tetapi dukungan AKS hanya berlaku saat Anda menggunakan penginstalan API Gateway Terkelola dengan add-on atau ekstensi AKS yang didukung yang mengimplementasikan API Gateway. Proksi BYO atau implementasi API Gateway yang dikelola sendiri lainnya tidak didukung oleh AKS.

Prasyarat

  • Jika Anda sudah memiliki penginstalan Gateway API CRD yang ada di kluster, Anda harus memenuhi persyaratan berikut:

    • Hanya CRD dari saluran standard yang dapat diinstal pada kluster Anda. Experimental CRD saluran tidak diizinkan, dan Anda harus menghapus instalannya sebelum mengaktifkan API Gerbang Terkelola.
    • Versi bundel GATEWAY API harus kompatibel dengan versi Kubernetes kluster Anda. Untuk informasi selengkapnya, lihat bagian Versi Kubernetes yang didukung untuk versi bundel API Gateway .
  • Secara opsional, Anda dapat menyebarkan add-on atau ekstensi AKS yang mengimplementasikan API Gateway, seperti add-on Istio. Jika Anda menggunakan add-on Istio, Anda harus berada di revisi minor asm-1-26 atau yang lebih baru untuk memastikan kompatibilitas dengan instalasi API Gateway Terkelola. Untuk menyebarkan add-on Istio, lihat Menyebarkan add-on jala layanan berbasis Istio untuk Azure Kubernetes Service (AKS).

Memperbarui versi Azure CLI

Anda harus menggunakan versi azure-cli2.86.0 atau lebih tinggi. Jalankan az --version untuk menemukan versi Anda azure-cli , dan jalankan az upgrade untuk meningkatkan.

Versi Kubernetes yang didukung untuk versi bundel API Gateway

Tabel berikut menguraikan versi Kubernetes yang didukung untuk kluster AKS Anda untuk setiap versi bundel API Gateway untuk standard saluran:

Versi bundel Gateway API Versi Kubernetes yang didukung
v1.2.1 v1.26.0 - v1.33.x
v1.3.0 v1.34.x
v1.4.1 v1.35.x
v1.5.1 v1.36.0+

Nota

Jika Anda meningkatkan kluster AKS Anda ke versi minor baru setelah menginstal CRD API Gateway yang Dikelola, maka CRD akan secara otomatis ditingkatkan ke versi bundel Gateway API yang didukung baru untuk versi Kubernetes tersebut. Misalnya, jika Anda meningkatkan dari AKS v1.33.0 ke v1.34.0 dan sebelumnya memiliki API Gateway Terkelola yang diinstal untuk versi bundel v1.2.1, CRD secara otomatis ditingkatkan ke versi bundel v1.3.0.

Membuat kluster AKS baru dengan CRD Gateway API Terkelola terinstal

  • Buat kluster AKS baru dengan CRD API Gateway Terkelola yang diinstal menggunakan perintah az aks create dengan flag --enable-gateway-api. Anda juga dapat mengaktifkan add-on yang didukung secara opsional, seperti add-on jala layanan Istio, dalam perintah yang sama. Contoh perintah berikut membuat kluster AKS baru dengan penginstalan API Gateway Terkelola dan add-on jala layanan Istio diaktifkan:

    az aks create --resource-group myResourceGroup --name myAKSCluster --enable-gateway-api --enable-azure-service-mesh
    

Menginstal CRD API Gateway Terkelola pada kluster AKS yang ada

  • Instal CRD API Gateway Terkelola pada kluster yang ada menggunakan az aks update perintah dengan --enable-gateway-api bendera .

    az aks update --resource-group myResourceGroup --name myAKSCluster --enable-gateway-api
    

Memverifikasi penginstalan CRD API Gateway Terkelola

  1. Lihat CRD yang diinstal pada kluster Anda menggunakan perintah berikut kubectl get crds :

    kubectl get crds | grep "gateway.networking.k8s.io"
    

    Output harus menunjukkan CRD yang diinstal, yang merupakan bagian dari spesifikasi API Gateway Kubernetes. Contohnya:

    gatewayclasses.gateway.networking.k8s.io                           2025-08-29T17:52:36Z
    gateways.gateway.networking.k8s.io                                 2025-08-29T17:52:36Z
    grpcroutes.gateway.networking.k8s.io                               2025-08-29T17:52:36Z
    httproutes.gateway.networking.k8s.io                               2025-08-29T17:52:37Z
    referencegrants.gateway.networking.k8s.io                          2025-08-29T17:52:37Z
    
  2. Verifikasi bahwa CRD memiliki anotasi yang diharapkan dan versi bundel cocok dengan versi Kubernetes yang diharapkan untuk kluster Anda menggunakan perintah berikut kubectl get crds :

    kubectl get crd gateways.gateway.networking.k8s.io -ojsonpath={.metadata.annotations} | jq
    

    Output harus menunjukkan anotasi yang diharapkan, termasuk anotasi gateway.networking.k8s.io/bundle-version dengan versi bundel yang sesuai untuk versi Kubernetes dari kluster Anda. Misalnya, jika kluster Anda menjalankan Kubernetes v1.33.0, versi bundel yang diharapkan adalah v1.2.1, dan outputnya harus mirip dengan yang berikut:

    {
    "api-approved.kubernetes.io": "https://github.com/kubernetes-sigs/gateway-api/pull/3328",
    "app.kubernetes.io/managed-by": "aks",
    "app.kubernetes.io/part-of": <hash>,
    "gateway.networking.k8s.io/bundle-version": "v1.2.1",
    "gateway.networking.k8s.io/channel": "standard"
    }
    

Menghapus CRD API Gateway yang Dikelola pada kluster AKS

  • Copot pemasangan CRD API Gateway Terkelola pada kluster yang ada menggunakan az aks update dengan flag --disable-gateway-api.

    az aks update --resource-group myResourceGroup --name myAKSCluster --disable-gateway-api