• Русский
  • Import Standard Kubernetes Cluster

    Поддерживается интеграция стандартных нативных кластеров Kubernetes, развернутых с помощью kubeadm, в платформу для единого управления.

    Терминология

    ТерминОписание
    Managed Kubernetes ClusterТип кластера Kubernetes, предоставляемого облачными провайдерами, где узлы Master и их компоненты управляются провайдером. Пользователи не могут войти или управлять Master-узлами.
    Unmanaged Kubernetes ClusterВ отличие от этого, некоторые облачные провайдеры предоставляют кластеры, где пользователи управляют Master-узлами, например Alibaba Cloud ACK Dedicated Edition или Tencent Cloud TKE Independent Cluster.

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

    Примечания

    По умолчанию платформа мониторит трафик NIC, соответствующий шаблону eth.*|en.*|wl.*|ww.*. Если у вашей сетевой карты другое именование, обновите конфигурацию после интеграции согласно Сбор данных сети с сетевых карт с пользовательскими именами.

    Получение адреса реестра

    • Чтобы использовать реестр, развернутый платформой при установке глобального кластера, выполните на узле глобального управления:

      if [ "$(kubectl get productbase -o jsonpath='{.items[].spec.registry.preferPlatformURL}')" = 'false' ]; then
          REGISTRY=$(kubectl get cm -n kube-public global-info -o jsonpath='{.data.registryAddress}')
      else
          REGISTRY=$(kubectl get cm -n kube-public global-info -o jsonpath='{.data.platformURL}' | awk -F // '{print $NF}')
      fi
      echo "Registry address: $REGISTRY"
    • Чтобы использовать внешний реестр, задайте REGISTRY вручную:

      REGISTRY=<external-registry-address>  # например, registry.example.cn:60080 или 192.168.134.43
      echo "Registry address: $REGISTRY"

    Проверка необходимости дополнительной настройки реестра

    1. Выполните проверку поддержки HTTPS с доверенным сертификатом CA:

      REGISTRY=<registry-address-from-previous-step>
      
      if curl -s -o /dev/null --retry 3 --retry-delay 5 -- "https://${REGISTRY}/v2/"; then
          echo 'Pass: Registry uses a trusted CA certificate. No extra config needed.'
      else
          echo 'Fail: Registry does not support HTTPS or uses an untrusted certificate. Follow "Trust Insecure Registry".'
      fi
    2. Если проверка не пройдена, смотрите Как доверять небезопасному реестру?

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

    См. Как получить информацию о кластере?.

    Интеграция кластера

    1. В левом меню перейдите в Cluster Management > Clusters.

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

    3. Настройте параметры следующим образом:

      ПараметрОписание
      RegistryРеестр, в котором хранятся необходимые образы компонентов платформы. Варианты: Platform Default (настроен при глобальной установке), Private Registry (требуются адрес, порт, имя пользователя, пароль), Public Registry (требуется обновление облачных учетных данных).
      Cluster InfoМожно ввести вручную или распарсить из файла KubeConfig. Обязательные поля: Cluster Address, CA Certificate (Base64-декодированный при ручном вводе) и Authentication (токен или клиентский сертификат с правами cluster-admin).
    4. Нажмите Check Connectivity. Платформа проверит сетевой доступ и автоматически определит тип кластера.

    5. Если проверка успешна, нажмите Import для завершения.

      Прогресс можно отслеживать через диалог execution progress (status.conditions). После интеграции кластер отображается в списке как здоровый.

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

    Обеспечьте сетевое взаимодействие между глобальным кластером и импортированным кластером.

    Конфигурация после импорта

    Если необходимо, чтобы платформа собирала данные аудита с импортированного стандартного кластера Kubernetes, настройте аудит логов API сервера Kubernetes в кластере после импорта. См. Как настроить сбор аудита для импортированных стандартных кластеров Kubernetes?.

    FAQ

    Почему кнопка «Add Node» отключена?

    Для управляемых и неуправляемых кластеров добавление узлов через UI платформы не поддерживается. Добавляйте узлы напрямую или через провайдера.

    Какие сертификаты поддерживаются?

    1. Сертификаты Kubernetes: можно просматривать только сертификаты API Server; остальные сертификаты не поддерживаются и не будут автоматически обновляться.
    2. Сертификаты компонентов платформы: доступны для просмотра и автоматического обновления.

    Какие функции не поддерживаются?

    • Управляемые кластеры: аудит логи недоступны.
    • Управляемые кластеры: мониторинг ETCD, Scheduler, Controller Manager не поддерживается (доступны только метрики API Server).
    • Все кластеры: сертификаты, кроме API Server, не поддерживаются.

    Как исправить сбои развертывания распределённого хранилища из-за runtime Containerd?

    При использовании Containerd развертывание распределённого хранилища не удаётся, если не настроить Containerd на всех узлах:

    1. Отредактируйте /etc/systemd/system/containerd.service, установите LimitNOFILE=1048576.
    2. Выполните systemctl daemon-reload.
    3. Перезапустите Containerd: systemctl restart containerd.
    4. На управляющих узлах перезапустите поды распределённого хранилища:
      kubectl delete pod --all -n rook-ceph