Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API шлюза Kubernetes — это спецификация для управления трафиком в кластерах Kubernetes. Спецификация улучшает Ingress API, которому не хватает единого и независимого от поставщика подхода для усложненной маршрутизации трафика.
Установка API управляемого шлюза для службы Azure Kubernetes (AKS) включает установку пользовательских определений ресурсов (CRD) для API шлюза Kubernetes. При установке API управляемого шлюза можно использовать функции API шлюза в полностью поддерживаемом режиме в AKS.
Предпосылки
Необходимо использовать надстройку AKS или расширение, реализующее API шлюза, например надстройку Istio. Если вы используете надстройку Istio, необходима версия
asm-1-26или более поздняя, чтобы обеспечить совместимость с установкой API управляемого шлюза. Сведения о развертывании этой надстройки см. в статье "Развертывание надстройки сетки службы на основе Istio" для службы Azure Kubernetes (AKS).Если у вас уже установлены CRD API шлюза в кластере, необходимо выполнить следующие требования:
- В вашем кластере можно установить только CRD каналов.
ExperimentalCrD канала запрещены, и их необходимо удалить перед включением API управляемого шлюза. - Версия пакета API шлюза должна быть совместима с версией Kubernetes кластера. Дополнительные сведения см. в разделе "Поддерживаемые версии Kubernetes" для версий пакета API шлюза .
- В вашем кластере можно установить только CRD каналов.
Расширение
aks-previewустановлено и обновлено до версии19.0.0b4или более поздней.Флаг функции, зарегистрированный в вашей подписке
ManagedGatewayAPIPreview.
Установка или обновление aks-preview расширения
Это важно
Предварительные версии функций AKS доступны на условиях самообслуживания и добровольного выбора. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS сопровождаются частичной поддержкой клиентов на основе принципа лучших усилий. Как таковые, эти функции не предназначены для использования в производстве. Для получения дополнительной информации ознакомьтесь со следующими статьями поддержки:
aks-previewУстановите расширение или обновите его до новейшей версии с помощью командыaz extension addи командыaz extension update. Если вы используете Azure CLI. Необходимо использовать версиюaks-previewи более позднюю19.0.0b4.# Install the aks-preview extension az extension add --name aks-preview # Update the aks-preview extension to the latest version az extension update --name aks-preview
Зарегистрируйте флаг предварительной версии API управляемого шлюза
Зарегистрируйте флаг функции
ManagedGatewayAPIPreviewс помощью командыaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "ManagedGatewayAPIPreview"
Поддерживаемые версии Kubernetes для версий пакета API шлюза
В следующей таблице приведены поддерживаемые версии Kubernetes для кластера AKS для каждой версии пакета API шлюза standard для канала:
| Версия пакета API шлюза | Поддерживаемые версии Kubernetes |
|---|---|
| v1.2.1 | v1.26.0 — v1.33.x |
| v1.3.0 | v1.34.x |
| v1.4.1 | v1.35.0+ |
Замечание
Если вы обновляете кластер AKS до новой минорной версии после установки CRD управления шлюзом API, CRD автоматически обновляются до новой поддерживаемой версии пакета API шлюза для этой версии Kubernetes. Например, при обновлении с AKS v1.33.0 до v1.34.0 и ранее установленного управляемого шлюза API для версии пакета v1.2.1, CRDs автоматически обновляются до версии пакета v1.3.0.
Создайте новый кластер AKS с установленными CRD API управляемого шлюза
Создайте новый кластер AKS с установленными CRD API управляемого шлюза с помощью команды
az aks createс флагом--enable-gateway-api. Вы также можете включить поддерживаемое дополнение, например, сервисную mesh-сетку Istio, в той же команде. Следующая команда создает новый кластер AKS с установкой API шлюза с управляемой поддержкой и надстройкой службы mesh Istio.az aks create --resource-group myResourceGroup --name myAKSCluster --enable-gateway-api --enable-azure-service-mesh
Установка CRD API для управляемого шлюза в существующем кластере AKS
Установите CRD API управляемого шлюза на существующий кластер с включенной поддержкой совместимой реализации с помощью команды
az aks updateс флагом--enable-gateway-api.az aks update --resource-group myResourceGroup --name myAKSCluster --enable-gateway-api
Проверка установки CRD API управляемого шлюза
Просмотрите все CRD, установленные в вашем кластере, с помощью следующей
kubectl get crdsкоманды:kubectl get crds | grep "gateway.networking.k8s.io"Выходные данные должны отображать установленные CRD, которые являются частью спецификации API шлюза Kubernetes. Рассмотрим пример.
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Убедитесь, что CRD имеют ожидаемые аннотации, а версия пакета соответствует ожидаемой версии Kubernetes для вашего кластера, используя следующую
kubectl get crdsкоманду:kubectl get crd gateways.gateway.networking.k8s.io -ojsonpath={.metadata.annotations} | jqВыходные данные должны отображать ожидаемые аннотации, включая
gateway.networking.k8s.io/bundle-versionаннотацию с ожидаемой версией пакета, соответствующей версии Kubernetes вашего кластера. Например, если кластер работает под управлением Kubernetesv1.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" }
Удаление CRD для API управляемого шлюза в кластере AKS
Удалите CRD (определения пользовательских ресурсов) API управляемого шлюза в существующем кластере, используя команду
az aks updateс флагом--disable-gateway-api.az aks update --resource-group myResourceGroup --name myAKSCluster --disable-gateway-api