Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этой статьи вы узнаете, как перенести кластер Azure Kubernetes Service (AKS) с этой функции маршрутизации приложений HTTP на надстройку маршрутизации приложений. Дополнение для маршрутизации HTTP-приложений было снято и не работает ни в одной из поддерживаемых версий кластера Kubernetes. Мы рекомендуем как можно скорее перейти на поддерживаемую конфигурацию.
Предварительные условия
- Azure CLI версии 2.54.0 или более поздней версии, установленной и настроенной. Чтобы узнать версию, выполните команду
az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0. -
aks-preview
Расширение Azure CLI версии 0.5.171 и выше
Примечание.
Эти шаги описывают процесс миграции из неподдерживаемой конфигурации. Таким образом, AKS не может предложить поддержку проблем, возникающих во время процесса миграции.
Обновление надстроек кластера, входящего трафика и использования IP-адресов
Включите надстройку маршрутизации приложений.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Обновите входы, настроив
ingressClassName
наwebapprouting.kubernetes.azure.com
. Удалите аннотациюkubernetes.io/ingress.class
. Кроме того, необходимо обновить узел до того, который вы владеете, так как надстройка маршрутизации приложений не имеет зоны DNS управляемого кластера. Если у вас нет зоны DNS, следуйте инструкциям по созданию и настройке.Изначально конфигурация входа будет выглядеть примерно так:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aks-helloworld annotations: kubernetes.io/ingress.class: addon-http-application-routing # Remove the ingress class annotation spec: rules: - host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> http: paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80
После правильного обновления такая же конфигурация выглядит следующим образом:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: aks-helloworld spec: ingressClassName: webapprouting.kubernetes.azure.com # Set the ingress class property to refer to the application routing add-on ingress class rules: - host: aks-helloworld.<CLUSTER_SPECIFIC_DNS_ZONE> # Replace with your own hostname http: paths: - path: / pathType: Prefix backend: service: name: aks-helloworld port: number: 80
Обновите IP-адрес контроллера Ingress (например, в записях DNS) новым IP-адресом. Новый IP-адрес можно найти с помощью
kubectl get
. Например:kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
Отключите надстройку маршрутизации приложений HTTP.
az aks disable-addons --resource-group <ResourceGroupName> --name <ClusterName> --addons http_application_routing
Удалите все ресурсы маршрутизации HTTP-приложений
После отключения надстройки маршрутизации http-приложений некоторые связанные ресурсы Kubernetes могут оставаться в кластере. К этим ресурсам относятся конфигурации и секреты, созданные в пространстве имен kube-system. Чтобы сохранить чистый кластер, можно удалить эти ресурсы. Найдите ресурсы addon-http-application-routing с помощью следующих
kubectl get
команд:kubectl get deployments --namespace kube-system kubectl get services --namespace kube-system kubectl get configmaps --namespace kube-system kubectl get secrets --namespace kube-system
В следующем примере выходных данных показаны карты конфигурации, которые должны быть удалены :
NAMESPACE NAME DATA AGE kube-system addon-http-application-routing-nginx-configuration 0 9m7s kube-system addon-http-application-routing-tcp-services 0 9m7s kube-system addon-http-application-routing-udp-services 0 9m7s
Удалите оставшиеся ресурсы с помощью
kubectl delete
команды. Обязательно укажите тип ресурса, имя ресурса и пространство имен. В следующем примере удаляется один из предыдущих объектов configmap.kubectl delete configmaps addon-http-application-routing-nginx-configuration --namespace kube-system
Повторите предыдущий
kubectl delete
шаг для всех оставшихся в вашем кластере ресурсов addon-http-application-routing.
Следующие шаги
После миграции в надстройку маршрутизации приложений узнайте, как отслеживать метрики контроллера входящего трафика с помощью Prometheus и Grafana.
Azure Kubernetes Service