• Русский
  • Установка

    В этом разделе описаны конкретные шаги по установке кластера global.

    Путь установки

    На этой странице описан путь установки для традиционной операционной системы. Если ваша среда работает на Immutable Infrastructure (Alauda OS на Huawei DCS, VMware vSphere или Huawei Cloud Stack), см. вместо этого Установка кластера global в среде Immutable Infrastructure.

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

    Процесс

    Загрузка и распаковка установочного пакета

    Загрузите установочный пакет Core Package на любую машину из узлов управляющей плоскости кластера global и распакуйте его с помощью следующей команды:

    # Assume that the /root/cpaas-install folder already exists on the machine
    tar -xvf {Path to Core Package File}/{Core Package File Name} -C /root/cpaas-install
    cd /root/cpaas-install/installer || exit 1
    INFO
    • Эта машина станет первым узлом управляющей плоскости после завершения установки кластера global.
    • После распаковки Core Package требуется не менее 100GB дискового пространства. Убедитесь, что доступно достаточно ресурсов хранения.
    • Если вы уже загрузили расширения, сначала завершите установку ACP Core, а затем следуйте Расширение, чтобы загрузить и установить их.

    Запуск установщика

    Выполните следующий сценарий установки, чтобы запустить установщик. После успешного запуска установщика в терминале командной строки будет выведен адрес доступа к веб-консоли.

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

    bash setup.sh
    WARNING

    Убедитесь, что IP-адрес и порт 8080 узла, на котором расположен установщик, доступны в обычном режиме, чтобы после успешного запуска установщика можно было без проблем открыть веб-консоль, предоставляемую установщиком.

    Семейство IP

    bash setup.sh --ip-family ipv6

    Если вы планируете создать кластер global с Single-stack Network IPv6, при запуске установщика необходимо явно указать --ip-family ipv6. Без этого параметра созданный установщиком кластер global по умолчанию будет поддерживать Single-stack Network IPv4 и Dual-stack Network.

    Настройка параметров

    После завершения настройки параметров установки в соответствии с руководством на странице подтвердите установку.

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

    Мониторинг хода установки

    После подтверждения параметров установщик проходит несколько этапов. Кластер global из 3 узлов обычно разворачивается за 30–60 минут; общее время зависит от аппаратного обеспечения узлов, пропускной способности сети и количества выбранных плагинов.

    Этапы, которые вы увидите

    ЭтапЧто происходитПервое место для проверки
    BootstrapКонтейнер установщика запускается во временной среде minialauda KIND на узле установки и поднимает встроенный registry.Вывод терминала команды bash setup.sh
    Provisioning управляющей плоскостиПервый узел управляющей плоскости загружается с помощью kubeadm; запускается etcd; дополнительные узлы управляющей плоскости присоединяются.Веб-интерфейс установщика; лог установщика
    Network and core add-onsЗапускаются CNI (по умолчанию Kube-OVN), CoreDNS, kube-proxy и другие компоненты сетевого взаимодействия внутри кластера.Веб-интерфейс установщика; kubectl get pods -n kube-system в новом кластере
    Core platformРазвертывается базовый operator, создается ClusterModule/global, и поднимается управляющая плоскость платформы.Веб-интерфейс установщика; kubectl get clustermodule global
    Aligned pluginsВыполняется reconcile AppRelease для выбранных Aligned plugins.kubectl get apprelease -A
    ЗавершениеУстановщик публикует URL доступа к платформе и через короткий период ожидания останавливает bootstrap-контейнер.Веб-интерфейс установщика; /var/cpaas/data/installer.log

    Сигналы во время установки

    Если веб-интерфейс кажется зависшим более чем на несколько минут, вместо этого проверьте сигналы бэкенда — веб-интерфейс опрашивает API прогресса бэкенда и может отставать, но текущее состояние всегда доступно на узле установки.

    # Live installer log on the installation node
    tail -f /var/cpaas/data/installer.log
    
    # Use the installer kubeconfig until the global cluster takes over
    export KUBECONFIG=/var/cpaas/data/alauda.kubeconfig
    
    # Cluster API resources that drive the new global cluster
    kubectl get clusters.cluster.x-k8s.io -A
    kubectl get kubeadmcontrolplane -A
    kubectl get machines -A
    
    # Charts that the installer is reconciling
    kubectl get apprelease -A

    В логах установщика записываются все переходы между этапами и любые ошибки, допускающие повторную попытку. Большинство временных ошибок повторяются автоматически с интервалом 10 секунд; постоянные ошибки остаются в логах и отображаются в веб-интерфейсе как зависший этап.

    Проверка успешной установки

    После завершения установки URL доступа к платформе отображается в веб-интерфейсе. Нажмите кнопку Access, чтобы открыть платформу и убедиться, что вход выполняется успешно.

    Затем выполните следующие команды на узле управляющей плоскости нового кластера global, чтобы подтвердить установленное состояние:

    # All nodes are Ready
    kubectl get nodes
    
    # ClusterModule/global reports the base module as healthy
    kubectl get clustermodule global -o jsonpath='{.status.phase}'
    
    # No AppRelease is in a failed state
    kubectl get apprelease -A
    
    # No Pod is stuck outside Running or Completed
    kubectl get pod --all-namespaces | awk '{if ($4 != "Running" && $4 != "Completed")print}' | awk -F'[/ ]+' '{if ($3 != $4)print}'

    Установка считается успешной, если:

    • Все узлы кластера global находятся в состоянии Ready.
    • ClusterModule/global сообщает о healthy-статусе.
    • Все AppRelease находятся в состоянии, отличном от failed.
    • Критические Pods в cpaas-system находятся в состоянии Running или Completed.

    Установка плагина Product Docs

    INFO

    Плагин Alauda Container Platform Product Docs предоставляет доступ к документации продукта внутри платформы. Все ссылки помощи в платформе будут направлять пользователей к этой документации. Если этот плагин не установлен, нажатие на ссылки помощи в платформе приведет к ошибкам доступа 404.

    1. Перейдите в Administrator.

    2. В левой боковой панели нажмите Marketplace > Cluster Plugins и выберите кластер global.

    3. Найдите плагин Alauda Container Platform Product Docs и нажмите Install.

    Описание параметров

    ПараметрОписание
    Версия Kubernetes

    Все доступные версии тщательно тестируются на стабильность и совместимость.
    Рекомендация: выбирайте последнюю версию для оптимального набора функций и поддержки.

    Сетевой протокол кластера

    Поддерживаются три режима: IPv4 single stack, IPv6 single stack, IPv4/IPv6 dual stack.
    Примечание: Если вы выбираете режим dual stack, убедитесь, что на всех узлах правильно настроены IPv6-адреса; сетевой протокол нельзя изменить после настройки.

    Конечная точка кластера

      Введите заранее подготовленное доменное имя.
      Если доменное имя недоступно, введите заранее подготовленный global VIP.
      Self-built VIP по умолчанию отключен; включайте его только в том случае, если вы не предоставили LoadBalancer.

      При использовании Self-built VIP должны быть выполнены следующие условия:

      • Доступен пригодный VRID;
      • Хостовая сеть поддерживает протокол VRRP;
      • Все узлы управляющей плоскости и VIP должны находиться в одной подсети.

      Подсказка: Для однозвенных развертываний в сценариях ознакомления с функциями можно напрямую ввести IP-адрес узла. Нет необходимости включать Self-built VIP или заранее подготавливать сетевые ресурсы, такие как global VIP.

    Адрес доступа к платформе

      Если вам не нужно различать Конечная точка кластера и Адрес доступа к платформе, введите тот же адрес, что и для Конечная точка кластера.
      Если различие необходимо, например если кластер global предназначен только для доступа из внутренней сети, а платформа должна обеспечивать доступ из внешней сети, введите заранее подготовленное доменное имя или External IP.
      По умолчанию платформа использует доступ по HTTPS и не включает HTTP. Если вам нужно включить доступ по HTTP, включите его в Advanced Settings (не рекомендуется).
      Примечание: Доменное имя необходимо в следующих случаях,

      • Планируется план аварийного восстановления для кластера global;
      • Платформа должна поддерживать доступ по IPv6.

      Подсказка: Если вам нужно настроить дополнительные адреса доступа к платформе, вы можете добавить их на следующем шаге в Other Settings > Other Platform Access Addresses. Либо после установки добавьте их в управлении платформой в соответствии с руководством пользователя.

    Сертификат

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

    Репозиторий образов

    По умолчанию используется репозиторий образов Platform Deployment, который содержит образы всех компонентов.
    Если вам нужно использовать репозиторий образов External, перед настройкой обратитесь в техническую поддержку, чтобы получить план синхронизации образов.

    Сеть контейнеров

    Подсеть по умолчанию и сетевой сегмент Service кластера не должны пересекаться.
    При использовании Overlay-сети Kube-OVN убедитесь, что сеть контейнеров и хостовая сеть не находятся в одном и том же сетевом сегменте, иначе это может привести к сетевым исключениям.

    Имя узла

    Если вы выбираете Host Name as Node Name, убедитесь, что имена хостов всех узлов уникальны.

    Изоляция узлов платформы кластера global

    Включайте только в том случае, если вы планируете запускать рабочие нагрузки приложений в кластере global.
    После включения:

    • Для узлов можно установить Platform Exclusive, то есть они будут запускать только компоненты платформы, обеспечивая изоляцию платформенных и прикладных рабочих нагрузок;
    • Рабочие нагрузки типа DaemonSet исключаются.
    Добавить узелУзел управляющей плоскости:
      • Поддерживается добавление 1 или 3 узлов управляющей плоскости (3 — для конфигурации высокой доступности);
      • Если включен Platform Exclusive, Deployable Applications принудительно отключается, и узлы управляющей плоскости запускают только компоненты платформы;
      • Если Platform Exclusive отключен, вы можете выбрать, включать ли Deployable Applications, что позволяет узлам управляющей плоскости запускать рабочие нагрузки приложений.
    Рабочий узел:
      • Если включен Platform Exclusive, Deployable Applications принудительно отключается;
      • Если Platform Exclusive отключен, Deployable Applications принудительно включается.

    При использовании Kube-OVN можно указать сетевой адаптер узла, введя имя шлюза.

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

    Распространенные зависания и где искать

    Если установщик сообщает об ошибке или кажется, что прогресс отсутствует, начните с симптома в таблице ниже. Перечисленные сигналы — это первое место для проверки; соберите этот вывод перед открытием обращения, чтобы служба поддержки могла работать с теми же данными.

    СимптомПервое место для проверкиНа что обратить внимание
    Веб-интерфейс не загружаетсяВывод терминала setup.sh и nerdctl ps на узле установкиКонтейнер minialauda-control-plane находится в состоянии Running, и порт 8080 доступен из браузера.
    Лог установщика перестает обновлятьсяtail -f /var/cpaas/data/installer.logПоследняя строка лога показывает, на каком этапе находится установщик. Если один и тот же этап повторяется более нескольких минут, причина обычно одна из строк ниже.
    Зависание на этапе provisioning управляющей плоскостиkubectl get machines -A и kubectl describe для машины, не находящейся в ReadyСостояния Bootstrap и Infrastructure на машине; до узла обычно можно достучаться по IP из status.addresses.
    Зависание на этапе network and core add-onskubectl -n kube-system get pods в новом кластереPods Kube-OVN, CoreDNS и kube-proxy находятся в состоянии Running. Ошибки pull image обычно указывают на проблему доступности registry.
    AppRelease показывает Failedkubectl describe apprelease <name> -n <namespace>Состояния Status и недавние Events описывают основную ошибку chart.
    Pod находится в состоянии ImagePullBackOff или ErrImagePullkubectl describe pod <pod>Подтвердите, что репозиторий образов платформы доступен с проблемного узла.
    ClusterModule/global не достигает healthy-статусаkubectl describe clustermodule globalВ Status.conditions описано, какой модуль блокирует завершение кластера.

    Проблемы, не перечисленные здесь, обычно указывают на причины, зависящие от среды. Снимите лог установщика и соответствующий вывод kubectl describe, а затем эскалируйте проблему.

    Очистка установщика

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

    nerdctl rm -f minialauda-control-plane

    Дополнительные ресурсы