• Русский
  • Импорт кластера Azure AKS

    Импортируйте существующий кластер Azure AKS в платформу для единого управления.

    Предварительные требования

    Подготовка рабочей среды

    Для соответствия стандартам безопасности Azure AKS следующие действия необходимо выполнять с помощью Cloud Shell.

    1. Убедитесь в сетевом подключении к Azure Console.

    2. Откройте страницу Kubernetes Services, найдите кластер, который хотите импортировать, и перейдите на страницу обзора кластера.

    3. Нажмите кнопку Connect, откроется всплывающее окно с заголовком Connect to <import cluster name>. Следуйте инструкциям для открытия Cloud Shell и настройки рабочей среды.

    Получение информации о кластере

    Получение токена для импорта кластера

    Файл KubeConfig публичных облачных кластеров нельзя использовать напрямую для импорта кластера.

    Пожалуйста, обратитесь к FAQ Как получить информацию о кластере? для получения токена импорта кластера.

    Импорт кластера

    1. В левой навигационной панели нажмите Cluster Management > Clusters.

    2. Нажмите Import Cluster.

    3. Настройте соответствующие параметры согласно следующим инструкциям.

      ПараметрОписание
      Image RegistryРеестр, в котором хранятся образы компонентов платформы, необходимые кластеру. - Platform Default: реестр образов, настроенный при развертывании глобального кластера. - Private Registry: заранее созданный реестр, в котором хранятся образы компонентов, требуемых платформой. Необходимо ввести Адрес приватного реестра образов, Порт, Имя пользователя и Пароль для доступа к реестру. - Public Registry: использование публичного реестра образов в интернете. Перед использованием необходимо сначала обратиться к Обновлению учетных данных публичного реестра образов для получения прав аутентификации.
      Cluster InformationСовет: загрузите файл KubeConfig, платформа автоматически распарсит и заполнит информацию. Cluster Address: адрес доступа к API Server импортируемого кластера, используемый платформой для доступа к API Server. CA Certificate: сертификат CA импортируемого кластера. Authentication Method: метод аутентификации импортируемого кластера, требуется использовать Token с правами управления кластером, созданный на предыдущем шаге, для аутентификации.
    4. Нажмите Check Connectivity для проверки сетевого подключения с импортируемым кластером и автоматического определения типа кластера. Тип кластера будет отображён в виде бейджа в правом верхнем углу формы.

    5. После успешной проверки подключения нажмите Import и подтвердите.

      TIP
      • Нажмите на иконку Details справа от кластера со статусом Importing, чтобы просмотреть ход выполнения (status.conditions) в всплывающем окне Execution Progress.
      • После успешного импорта кластера вы сможете просмотреть ключевую информацию о кластере в списке кластеров. Статус кластера будет отображаться как нормальный, и вы сможете выполнять операции, связанные с кластером.

    Сетевая конфигурация

    Убедитесь, что глобальный кластер и импортируемый кластер имеют сетевое подключение. См. Сетевая конфигурация для импортируемых кластеров.

    Действия после импорта

    Инициализация Ingress (входящих правил) и хранилища

    После импорта кластера, если необходимо использовать Ingress (входящие правила) и функции, связанные с хранилищем, обратитесь к Конфигурации инициализации Ingress для кластера Azure AKS и Конфигурации инициализации хранилища для кластера Azure AKS.

    Часто задаваемые вопросы

    Как настроить правила группы безопасности внешних IP-адресов узлов AKS

    По умолчанию у узлов есть только внутренние IP-адреса. Внешний IP настраивается на фронтенд-балансировщике нагрузки (LB), который по умолчанию используется для исходящего трафика. Этот LB контролируется владельцем AKS. Прямое ручное изменение этой конфигурации может привести к проблемам. Вы можете разрешить трафик через Kubernetes > Properties > Infrastructure Resource Group > Network Security Group > Add Outbound/Inbound All Rules.

    Как получить доступ к узлу AKS

    Для просмотра логов системных компонентов, таких как Kubelet, CNI и ядро, необходимо сначала выполнить SSH на узел. Рекомендуется использовать плагин kubectl-node-shell вместо назначения публичных IP-адресов каждому узлу.

    Вариант 1: Использование kubectl node-shell

    Официальная ссылка

    Вариант 2: Использование debug

    Официальная ссылка

    NOTE

    Для этого примера требуется версия kubectl 1.25 или выше, которая включает GA-команду kubectl debug.

    kubectl debug node/aks-newadd-41368356-vmss000002 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
    chroot /host

    Azure ALB с использованием внутреннего балансировщика нагрузки

    См. Официальная ссылка

    apiVersion: v1
    kind: Service
    metadata:
      name: internal-app
      namespace: cpaas-system
      annotations:
        service.beta.kubernetes.io/azure-load-balancer-internal: "true"
    spec:
      type: LoadBalancer
      ports:
      - name: http-port
        port: 80
        protocol: TCP
      - name: https-port
        port: 443
        protocol: TCP
      selector:
        service.cpaas.io/name: deployment-aks-alb
        service_name: alb2-aks-alb

    Azure ALB с использованием внешнего балансировщика нагрузки

    Разверните высокодоступный ALB с адресом доступа, настроенным как внешний LB.

    apiVersion: v1
    kind: Service
    metadata:
      name: azure-alb
      namespace: cpaas-system
    spec:
      type: LoadBalancer
      ports:
      - name: http-port
        port: 80
        protocol: TCP
      - name: https-port
        port: 443
        protocol: TCP
      - name: prom-port
        port: 11780
        protocol: TCP
      - name: prom2-port
        port: 11781
        protocol: TCP
      - name: prom3-port
        port: 15012
        protocol: TCP
      selector:
        service_name: alb2-cpaas-system

    Если он был развернут заранее, вы можете изменить его с помощью следующей команды.

    kubectl edit helmrequest -n cpaas-system uat-cluster-aks-alb

    Кнопка добавления узла неактивна после импорта кластера. Как добавить узлы?

    Добавление узлов через интерфейс платформы не поддерживается. Пожалуйста, обратитесь к поставщику кластера для добавления узлов.

    Какие сертификаты поддерживает функция управления сертификатами для импортируемых кластеров?

    1. Сертификаты Kubernetes: Все импортируемые кластеры поддерживают только просмотр информации о сертификате APIServer в интерфейсе управления сертификатами платформы. Другие сертификаты Kubernetes не доступны для просмотра, автоматическая ротация не поддерживается.

    2. Сертификаты компонентов платформы: Все импортируемые кластеры могут просматривать информацию о сертификатах компонентов платформы в интерфейсе управления сертификатами и поддерживают автоматическую ротацию.

    Какие другие функции не поддерживаются для импортируемых кластеров AKS?

    • Получение данных аудита не поддерживается.

    • Мониторинг, связанный с ETCD, Scheduler и Controller Manager, не поддерживается. Частичный мониторинг APIServer поддерживается.

    • Невозможно получить информацию о сертификатах кластера, кроме сертификатов Kubernetes APIServer.