Azure Kubernetes Service (AKS)に Managed Gateway API CRD をインストールする

Kubernetes Gateway API は、Kubernetes クラスターでのトラフィック管理の仕様です。 この仕様では イングレス API が強化されています。これは、高度なトラフィック ルーティングのための統一されたプロバイダーに依存しないアプローチを欠いています。

Azure Kubernetes Service (AKS) 用の Managed Gateway API のインストールでは、Kubernetes Gateway API のカスタム リソース定義 (CRD) がインストールされます。 これらの CRD は、特定のゲートウェイ API 実装とは別にインストールできます。

Managed Gateway API のインストールでは、ゲートウェイ API の CRD のみがインストールおよび管理されます。 これらの CRD は独自のゲートウェイ API 実装で使用できますが、AKS サポートは、サポートされている AKS アドオンまたはゲートウェイ API を実装する拡張機能で Managed Gateway API のインストールを使用する場合にのみ適用されます。 BYO プロキシまたはその他のセルフマネージド ゲートウェイ API の実装は、AKS ではサポートされていません。

[前提条件]

  • クラスターにゲートウェイ API CRD の既存のインストールが既にある場合は、次の要件を満たす必要があります。

    • あなたのクラスターではstandardチャネルCRDのみがインストールできます。 Experimental チャネル CRD は許可されません。Managed Gateway API を有効にする前に、それらをアンインストールする必要があります。
    • ゲートウェイ API バンドルのバージョンは、クラスターの Kubernetes バージョンと互換性がある必要があります。 詳細については、「 Gateway API バンドルバージョンでサポートされている Kubernetes バージョン 」セクションを参照してください。
  • 必要に応じて、 Istio アドオンなどのゲートウェイ API を実装する AKS アドオンまたは拡張機能をデプロイすることもできます。 Istio アドオンを使用する場合は、Managed Gateway API のインストールとの互換性を確保するために、マイナー リビジョン asm-1-26 以降が必要です。 Istio アドオンをデプロイするには、 Azure Kubernetes Service (AKS) 用の Istio ベースのサービス メッシュ アドオンのデプロイに関するページを参照してください。

Azure CLI のバージョンを更新する

azure-cliバージョン2.86.0以降を使用する必要があります。 az --versionを実行してazure-cliのバージョンを見つけ、az upgradeを実行してアップグレードします。

Gateway API バンドル バージョンでサポートされている Kubernetes バージョン

次の表は、 standard チャネルのゲートウェイ API バンドル バージョンごとに、AKS クラスターでサポートされている Kubernetes バージョンの概要を示しています。

ゲートウェイ API バンドルのバージョン サポートされている Kubernetes のバージョン
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 以降

Managed Gateway API CRD をインストールした後で AKS クラスターを新しいマイナー バージョンにアップグレードすると、その Kubernetes バージョンでサポートされている新しいゲートウェイ API バンドル バージョンに CRD が自動的にアップグレードされます。 たとえば、AKS v1.33.0 から v1.34.0 にアップグレードし、以前にバンドル バージョン v1.2.1用に Managed Gateway API がインストールされていた場合、CRD はバンドル バージョン v1.3.0に自動的にアップグレードされます。

Managed Gateway API CRD がインストールされた新しい AKS クラスターを作成する

  • az aks create フラグを指定して --enable-gateway-api コマンドを使用して、Managed Gateway API CRDs がインストールされた新しい AKS クラスターを作成します。 必要に応じて、同じコマンドでサポートされているアドオン (Istio サービス メッシュ アドオンなど) を有効にすることもできます。 次のコマンド例では、Managed Gateway API のインストールと Istio サービス メッシュ アドオンが有効になっている新しい AKS クラスターを作成します。

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

既存の AKS クラスターに Managed Gateway API CRD をインストールする

  • az aks update フラグを指定した --enable-gateway-api コマンドを使用して、既存のクラスターに Managed Gateway API CRD をインストールします。

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

Managed Gateway API CRD のインストールを確認する

  1. 次の kubectl get crds コマンドを使用して、クラスターにインストールされている CRD を表示します。

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

    出力には、Kubernetes Gateway API 仕様の一部である、インストールされている CRD が表示されます。 例えば次が挙げられます。

    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. 次の コマンドを使用して、CRD に予期される注釈があり、バンドルのバージョンがクラスターのkubectl get crdsと一致するかどうかを確認します。

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

    出力には、クラスターの Kubernetes バージョン用の予想されるバンドル バージョンを含む gateway.networking.k8s.io/bundle-version 注釈を含め、期待される注釈が表示されます。 たとえば、クラスターで Kubernetes v1.33.0が実行されている場合、予想されるバンドル バージョンは v1.2.1され、出力は次のようになります。

    {
    "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"
    }
    

AKS クラスター上の Managed Gateway API CRD をアンインストールする

  • az aks update フラグを指定して --disable-gateway-api コマンドを使用して、既存のクラスター上の Managed Gateway API CRD をアンインストールします。

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