Установка сателлита в неинтерактивном режиме
Установка сателлита в неинтерактивном режиме состоит из следующих этапов:
Добавление TLS-сертификатов для подключения к основному экземпляру системы
После завершения установки основного экземпляра системы создается архив TLS-сертификатов $SETUP_ROOT_DIR/r-vision/nats-tls.tar.gz. Этот архив необходимо скопировать в каталог установки сателлита $SETUP_ROOT_DIR/r-vision до начала его установки.
Подготовка конфигурационного файла
Подготовьте конфигурационный файл для установщика:
-
Создайте текстовый файл, в котором будут находиться переменные с параметрами установки. Формат указания переменных:
<variable>=<value>
Здесь:
-
<variable>— имя переменной; -
<value>— значение переменной.
-
-
Заполните конфигурационный файл. В файле можно указать переменные, приведенные в таблицах ниже.
Если не указать переменную в файле, для нее будет установлено значение по умолчанию. Общие переменные скрипта evoctl Переменная Описание ANSIBLE_USERИмя пользователя, которое будет использоваться в Ansible для подключения к узлам кластера по SSH.
ANSIBLE_PASSWORDПароль пользователя, который будет использоваться в Ansible для подключения к узлам кластера по SSH.
Если переменная не определена, подключение осуществляется по ключу. В этом случае необходимо определить переменную
ANSIBLE_BECOME_PASSWORD.ANSIBLE_BECOME_PASSWORDПароль для повышения привилегий пользователя
ANSIBLE_USERчерез sudo.Следует заполнять, если используется аутентификация по ключу и для повышения привилегий пользователя через sudo необходимо ввести пароль.
EVO_NAMESPACEПространство имен (namespace) Kubernetes, в котором будет установлена система.
Название пространства имен должно удовлетворять следующим требованиям:
-
Допустимые символы:
a—z,0—9,-. -
Название не должно начинаться и заканчиваться дефисом.
Переменные модуля Infra-Satellite Переменная Описание INFRA_NATS_STORAGE_SIZEМаксимальный размер хранилища NATS в ГиБ, не менее 20 ГиБ. Указывается с единицами измерения
Gi.Значение по умолчанию:
20Gi.INFRA_NATS_SPACE_IDИдентификатор пространства сателлита, которое будет использовать NATS.
С помощью одного дистрибутива можно установить несколько сателлитов, однако у каждого из них идентификатор пространства должен быть уникальным.
Требования к идентификатору пространства сателлита:
-
Допустимые символы:
a—z,A—Z,0—9,-. -
Идентификатор должен содержать не более 100 символов.
Сохраните идентификатор пространства, он понадобится для подключения к пространству сателлита из интерфейса системы.
INFRA_NATS_PORTНомер TCP-порта, по которому основной экземпляр системы будет подключаться к сателлиту. Данный порт будет открыт на всех узлах кластера сателлита.
Допустимые значения номера порта подключения: 30000—32767. Значение по умолчанию:30072. Сателлиты могут использовать одинаковые порты при условии установки в разные кластеры Kubernetes.Сохраните номер порта, он понадобится для подключения к пространству сателлита из интерфейса системы. Переменные конфигурации сбора метрик и логов Vector Переменная Описание VECTOR_HOST_METRICS_MODEИсточник метрик процессора, ОЗУ, диска и сети для демона Vector.
Допустимые значения:
-
vector_host_metrics— демон Vector получает метрики напрямую с хоста, монтируя его директории/procи/sysс помощью томов типаhostPath. -
node_exporter— демон Vector обращается к сервису Prometheus Node Exporter. Тома типаhostPathне монтируются.
VECTOR_WORKLOAD_METRICS_MODEИсточник метрик процессора и ОЗУ подов сервисов для демона Vector.
Допустимые значения:
-
cgroups— метрики контрольных групп (cgroups) собирает sidecar-контейнер, который монтирует директории/procи/sysс помощью томов типаhostPath. -
cadvisor— демон Vector обращается к компоненту Kubelet по порту10250и адресу/metrics/cadvisor. Тома типаhostPathне монтируются.
VECTOR_LOGS_MODEРежим сбора логов хоста для демона Vector.
Допустимые значения:
-
hostPath— демон Vector получает логи напрямую с хоста, монтируя его директории/var/logи/etc/localtimeс помощью томов типаhostPath. -
none— демон Vector не собирает логи. Тома типаhostPathне монтируются.
-
-
Сохраните конфигурационный файл.
Пример заполненного конфигурационного файла для установки сателлита
ANSIBLE_USER=ansible_user ANSIBLE_PASSWORD=ansible_password EVO_NAMESPACE=evo-satellite INFRA_NATS_STORAGE_SIZE=20Gi INFRA_NATS_SPACE_ID=space-satellite INFRA_NATS_PORT=30072
Запуск установщика
Запустите установщик в неинтерактивном режиме, выполнив одну из нижеприведенных команд:
DEPLOY_SKIP_REGISTER=yes CTL_ENV_FILE=<path_to_env_file> evoctl instance install
Или:
CTL_ENV_FILE=<path_to_env_file> evoctl instance install --skip-register
Здесь:
-
<path_to_env_file>— путь к конфигурационному файлу.
|
Если не указать параметры Рекомендуется указать параметры |
Завершение установки
После завершения установки в терминале отобразится сообщение, содержащее идентификатор пространства и номер порта установленного сателлита, например:
To add this Satellite as a new space of main instance use values: space id: space-satellite space port: 30072
| Если вы отключали какие-либо сервисы во время аудита системного окружения, включите их. |
Настройка mTLS-шифрования между основным экземпляром и сателлитом
По умолчанию после установки основного экземпляра системы и сателлита шифрование соединения между ними отключено.
При необходимости вы можете настроить шифрование соединения по протоколу mTLS. Для этого:
-
Включите TLS-шифрование для пространств. Для этого:
-
Подключитесь к терминалу master-узла кластера, в котором установлен основной экземпляр системы.
-
Откройте ConfigMap
space-manager-extravars:kubectl -n <namespace> edit configmap space-manager-extravarsЗдесь:
-
<namespace>— название пространства имен, в котором установлена система.Вы можете получить название пространства имен, в котором установлена система, с помощью утилиты evoctl.
-
-
Установите для переменной
NATS_CONFIGURATOR_USE_LEAF_TLS_FOR_SPACESзначение"true". -
Сохраните изменения в ConfigMap.
-
Перезапустите Deployment
evo.space.space-manager:kubectl -n <namespace> rollout restart deployment evo.space.space-manager
-
-
Задайте параметры TLS в ConfigMap
nats-space-config. Для этого:-
Откройте ConfigMap
nats-space-config:kubectl edit -n <namespace> configmaps nats-space-config -o yamlЗдесь:
-
<namespace>— название пространства имен, в котором установлена система.
-
-
В блоке
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 } }, -
Перезапустите StatefulSet
nats-space:kubectl -n <namespace> rollout restart statefulset nats-space
-
-
Повторите действия на шаге 2 в терминале master-узла кластера сателлита.
Подключение к пространству сателлита
Управление сателлитом осуществляется за счет запускаемых в нем сервисов через веб-интерфейс основного экземпляра системы. Чтобы подключиться к сателлиту, необходимо создать подключение к его пространству. Для этого:
-
Войдите в веб-интерфейс основного экземпляра системы.
-
Перейдите в раздел Настройки → Пространства и сервисы → Пространства.
-
Нажмите на кнопку Создать (
). Отобразится окно создания подключения.
-
Введите идентификатор пространства сателлита в поле ID.
-
Введите название подключения. Название может быть любым.
-
В поле IP или домен введите IP-адрес или доменное имя (FQDN) одного из узлов кластера, в котором развернут сателлит.
-
В поле Порт введите номер TCP-порта, указанного при установке сателлита.
-
При необходимости введите описание подключения к пространству.
-
Нажмите на кнопку Создать. Система создаст подключение к пространству и отобразит соответствующее уведомление. Подключение отобразится в списке раздела Настройки → Пространства и сервисы → Пространства.
У созданного подключения отобразится статус Подключается. По завершении подключения статус изменится на Активен.
| Время на инициализацию подключения зависит загруженности кластеров и каналов связи и может достигать 5—10 минут. |
Регистрация образов компонентов сателлита
Завершив подключение основного экземпляра системы к сателлиту, зарегистрируйте образы компонентов сателлита. Для этого:
-
Подключитесь к терминалу машины, с которой запускалась установка сателлита.
-
Дождитесь запуска сервиса
evo.space.space-controller. Для этого отследите его статус:kubectl -n <satellite_namespace> get pods -l app.kubernetes.io/name=space-controller ---watchЗдесь:
-
<satellite_namespace>— название пространства имен, в котором установлен сателлит. Оно определено в переменнойEVO_NAMESPACE.
-
-
Когда под сервиса
evo.space.space-controllerперейдет в статусRunning, выполните следующие действия:-
Чтобы остановить наблюдение за статусом сервиса
evo.space.space-controller, нажмите на комбинацию клавиш CTRL+C. -
Чтобы зарегистрировать образы компонентов сателлита, выполните следующую команду:
evoctl instance upload -n <satellite_namespace>Здесь:
-
<satellite_namespace>— название пространства имен, в котором установлен сателлит. Оно определено в переменнойEVO_NAMESPACE.
-
-
Была ли полезна эта страница?