Процесс установки сателлита

В данном разделе описаны действия по выполнению новой установки сателлита.

Данный раздел описывает установку с помощью интерактивного установщика. Чтобы установить сателлит в неинтерактивном режиме, используя утилиту evoctl и файл с переменными окружения, обратитесь к разделу Установка сателлита в неинтерактивном режиме.

Установка состоит из следующих этапов:

Добавление TLS-сертификатов для подключения к основному экземпляру системы

После завершения установки основного экземпляра системы создается архив TLS-сертификатов $SETUP_ROOT_DIR/r-vision/nats-tls.tar.gz. Этот архив необходимо скопировать в каталог установки сателлита $SETUP_ROOT_DIR/r-vision до начала его установки.

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

Чтобы запустить установщик сателлита:

  1. Выполните одну из нижеприведенных команд:

    DEPLOY_SKIP_REGISTER=yes bash ./evo.platform_<version>_satellite.run

    Или:

    evoctl instance install --skip-register

    Если не указать параметры DEPLOY_SKIP_REGISTER или --skip-register, сателлит будет готов к работе не сразу после установки, поскольку сервис evo.space.space-controller, регистрирующий образы его компонентов, будет запущен только после подключения основного экземпляра системы к сателлиту.

    Рекомендуется указать параметры DEPLOY_SKIP_REGISTER или --skip-register и зарегистрировать образы вручную после завершения установки.

    Установщик выведет следующие сведения:

  2. На этапе Select action выберите действие New installation in an existing K8s cluster:

    satellite install select action

Настройка Ansible

Задайте параметры Ansible на этапе Ansible creds:

  1. Задайте имя пользователя.

    install ansible creds username

  2. Выберите метод аутентификации: по паролю или через ключ.

    install ansible creds auth method

  3. Если выбрана аутентификация по паролю, задайте и подтвердите пароль пользователя.

Выбор пространства имен Kubernetes

Выберите пространство имен (namespace) Kubernetes, в которое будет установлен сателлит, на этапе Kubernetes cluster namespace to install.

satellite install create new k8s space

  • Если требуется создать новое пространство имен, выберите опцию create new и введите название пространства.

    Название пространства имен должно удовлетворять следующим требованиям:

    • Допустимые символы: a—​z, 0—​9, -.

    • Название не должно начинаться и заканчиваться дефисом.

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

    Пространство имен по умолчанию default создается автоматически при развертывании кластера Kubernetes и может быть использовано для установки компонентов системы.

    В списке доступны все существующие в кластере пространства имен, кроме зарезервированных для системных сервисов:

    • ingress-nginx;

    • kube-node-lease;

    • kube-prometheus-stack;

    • kube-public;

    • kube-system;

    • local-path-provisioner;

    • metallb-system;

    • piraeus-datastore.

Настройка NATS

На этапе NATS satellite setup:

  1. Укажите максимальный размер хранилища NATS, не менее 20 ГБ.

    Если в кластере не установлен провайдер хранилища или установлен local-path-provisioner, максимальный размер хранилища указывать не требуется.

    satellite install nats max storage size

  2. Укажите уникальный идентификатор пространства сателлита.

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

    Требования к идентификатору пространства сателлита:

    • Допустимые символы: a—​z, A—​Z, 0—​9, -.

    • Идентификатор должен содержать не более 100 символов.

    satellite install nats space name

    Сохраните идентификатор пространства, он понадобится для подключения к пространству сателлита из интерфейса системы.
  3. Укажите номер TCP-порта, по которому основной экземпляр системы будет подключаться к сателлиту. Данный порт будет открыт на всех узлах кластера сателлита.

    Допустимые значения номера порта подключения: 30000—​32767. Значение по умолчанию: 30072. Сателлиты могут использовать одинаковые порты при условии установки в разные кластеры Kubernetes.

    satellite install nats port

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

Настройка сбора метрик и логов с помощью Vector

На этапе Space: Vector observability настройте источники метрик для демона Vector и режим сбора логов хоста:

  1. Выберите источник метрик процессора, ОЗУ, диска и сети. Доступные варианты:

    • Vector host_metrics — демон Vector получает метрики напрямую с хоста, монтируя его директории /proc и /sys с помощью томов типа hostPath.

    • Node Exporter — демон Vector обращается к сервису Prometheus Node Exporter. Тома типа hostPath не монтируются.

    vector host metrics source

  2. Выберите источник метрик процессора и ОЗУ подов сервисов:

    • cgroups — метрики контрольных групп (cgroups) собирает sidecar-контейнер, который монтирует директории /proc и /sys с помощью томов типа hostPath.

    • cAdvisor — демон Vector обращается к компоненту Kubelet по порту 10250 и адресу /metrics/cadvisor. Тома типа hostPath не монтируются.

    vector workload metrics source

  3. Выберите режим сбора логов хоста:

    • hostPath — демон Vector получает логи напрямую с хоста, монтируя его директории /var/log и /etc/localtime с помощью томов типа hostPath.

    • none — демон Vector не собирает логи. Тома типа hostPath не монтируются.

    vector host logs

Завершение установки

После завершения установки в терминале отобразится сообщение, содержащее идентификатор пространства и номер порта установленного сателлита, например:

To add this Satellite as a new space of main instance use values:
  space id: space-satellite
  space port: 30072
Если вы отключали какие-либо сервисы во время аудита системного окружения, включите их.

Настройка mTLS-шифрования между основным экземпляром и сателлитом

По умолчанию после установки основного экземпляра системы и сателлита шифрование соединения между ними отключено.

При необходимости вы можете настроить шифрование соединения по протоколу mTLS. Для этого:

  1. Включите TLS-шифрование для пространств. Для этого:

    1. Подключитесь к терминалу master-узла кластера, в котором установлен основной экземпляр системы.

    2. Откройте ConfigMap space-manager-extravars:

      kubectl -n <namespace> edit configmap space-manager-extravars

      Здесь:

      • <namespace> — название пространства имен, в котором установлена система.

        Вы можете получить название пространства имен, в котором установлена система, с помощью утилиты evoctl.
    3. Установите для переменной NATS_CONFIGURATOR_USE_LEAF_TLS_FOR_SPACES значение "true".

    4. Сохраните изменения в ConfigMap.

    5. Перезапустите Deployment evo.space.space-manager:

      kubectl -n <namespace> rollout restart deployment evo.space.space-manager
  2. Если вы планируете размещать шлюзы в пространстве сателлита, включите TLS-шифрование для подключения шлюзов к NATS. Для этого:

    1. Откройте ConfigMap space-controller-extravars:

      kubectl -n <namespace> edit configmap space-controller-extravars

      Здесь:

      • <namespace> — название пространства имен, в котором установлена система.

    2. Установите для переменной NATS_CONFIGURATOR_USE_LEAF_TLS_FOR_SPACES значение "true".

    3. Сохраните изменения в ConfigMap.

    4. Перезапустите Deployment evo.space.space-controller:

      kubectl -n <namespace> rollout restart deployment evo.space.space-controller
  3. Задайте параметры TLS в ConfigMap nats-space-config. Для этого:

    1. Откройте ConfigMap nats-space-config:

      kubectl edit -n <namespace> configmaps nats-space-config -o yaml

      Здесь:

      • <namespace> — название пространства имен, в котором установлена система.

    2. В блоке leafnodes добавьте блок tls со следующим содержимым:

      "tls": {
        "ca_file": "/etc/nats/ca/ca.crt",
        "cert_file": "/etc/nats/tls/tls.crt",
        "key_file": "/etc/nats/tls/tls.key",
        "verify": true,
        "handshake_first": true
      }
      Пример измененного блока leafnodes
      "leafnodes": {
        "no_advertise": true,
        "port": 7422,
        "tls": {
          "ca_file": "/etc/nats/ca/ca.crt",
          "cert_file": "/etc/nats/tls/tls.crt",
          "key_file": "/etc/nats/tls/tls.key",
          "verify": true,
          "handshake_first": true
        }
      },
    3. Перезапустите StatefulSet nats-space:

      kubectl -n <namespace> rollout restart statefulset nats-space
  4. Повторите действия на шаге 3 в терминале master-узла кластера сателлита.

Подключение к пространству сателлита

Управление сателлитом осуществляется за счет запускаемых в нем сервисов через веб-интерфейс основного экземпляра системы. Чтобы подключиться к сателлиту, необходимо создать подключение к его пространству. Для этого:

  1. Войдите в веб-интерфейс основного экземпляра системы.

  2. Перейдите в раздел Настройки → Пространства и сервисы → Пространства.

  3. Нажмите на кнопку Создать (plus). Отобразится окно создания подключения.

  4. Введите идентификатор пространства сателлита в поле ID.

  5. Введите название подключения. Название может быть любым.

  6. В поле IP или домен введите IP-адрес или доменное имя (FQDN) одного из узлов кластера, в котором развернут сателлит.

  7. В поле Порт введите номер TCP-порта, указанного при установке сателлита.

  8. При необходимости введите описание подключения к пространству.

  9. Нажмите на кнопку Создать. Система создаст подключение к пространству и отобразит соответствующее уведомление. Подключение отобразится в списке раздела Настройки → Пространства и сервисы → Пространства.

У созданного подключения отобразится статус Подключается. По завершении подключения статус изменится на Активен.

Время на инициализацию подключения зависит загруженности кластеров и каналов связи и может достигать 5—​10 минут.

Регистрация образов компонентов сателлита

Завершив подключение основного экземпляра системы к сателлиту, зарегистрируйте образы компонентов сателлита. Для этого:

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

  2. Дождитесь запуска сервиса evo.space.space-controller. Для этого отследите его статус:

    kubectl -n <satellite_namespace> get pods -l app.kubernetes.io/name=space-controller ---watch

    Здесь:

  3. Когда под сервиса evo.space.space-controller перейдет в статус Running, выполните следующие действия:

    1. Чтобы остановить наблюдение за статусом сервиса evo.space.space-controller, нажмите на комбинацию клавиш CTRL+C.

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

      evoctl instance upload -n <satellite_namespace>

      Здесь:

Была ли полезна эта страница?

Обратная связь