Перейти к содержанию

Установка Cloudmaster и его модулей⚓︎

Содержание

On-premise поставка Cloudmaster состоит из основного модуля и двух дополнительных: приватного агента и модуля работы с метриками K8s.

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

Основной модуль: Яндекс Облако, Cloud.ru Advanced.

Приватный агент (дополнительно к основному): Cloud Director, vSphere.

K8s модуль (дополнительно к основному): Kubernetes.

Системные требования⚓︎

Для установки всех трех модулей Cloudmaster понадобится 1 ВМ со следующими минимальными техническими характеристиками:

Тип параметра
Значение параметра
Операционная система Ubuntu 24.04 LTS
CPU 16 ядер 2GHz
RAM 32GB
Свободное место на диске 100GB SSD (со временем накопления исторических данных потребуется увеличение объёма)
Локальная сеть 1Gbit сетевой интерфейс

Правила сетевого доступа⚓︎

Правила сетевого доступа
Вид трафика
Протокол
Источник трафика
Получатель трафика
IP адреса
Порты
IP адреса
Порты
Исходящий HTTP (HTTPS) TCPIP адрес `ВМ`ВсеВсе80, 443
Исходящий SSH* TCPIP адрес `ВМ`ВсеВсе22
Исходящий ICMP ICMPIP адрес `ВМ`Все
Исходящий SMTP TCPIP адрес `ВМ`ВсеВсе25, 587, 465
Исходящий NTP UDPIP адрес `ВМ`ВсеДоверенные123
Исходящий DNS TCP, UDPIP адрес `ВМ`ВсеДоверенные53
Входящий HTTP(HTTPS) TCPВсеВсеIP адрес `ВМ`80, 443
Входящий SSH TCPДоверенныеВсеIP адрес `ВМ`22

* Только для использования Yandex Cloud.

Установка основного модуля⚓︎

Примерное время загрузки и установки основного модуля Cloudmaster ― 7–9 минут (в зависимости от ширины интернет-канала).

  1. Сообщите команде поддержке IP-адрес ВМ, чтобы получить доступ к репозиторию. Проверить IP-адрес можно командой:

     curl -s https://2ip.ru/
    
  2. Перед установкой основного модуля Cloudmaster на вашем сервере убедитесь, что соблюдены минимальные системные требования к среде исполнения.

  3. Загрузите скрипт в терминал для подключения необходимого репозитория Cloudmaster внутри целевой ВМ:

    curl https://io.cloudmaster.ru/setup_cloudmaster_repo.sh > setup_cloudmaster_repo.sh
    

  4. Запустите скрипт подключения необходимых репозиториев командами:

    chmod 755 setup_cloudmaster_repo.sh
    
    sudo ./setup_cloudmaster_repo.sh
    

    После завершения выполнения команд подключения репозитория терминал направит уведомление:

    Подключение репозитория CloudMaster успешно завершено.

  5. Запустите установку основного модуля Cloudmaster :

    sudo apt update
    
    sudo apt install cloudmaster
    
    Внимание! В середине процесса установки будет шаг настройки пользователя default для ClickHouse в этот момент необходимо задать пароль. Он вам потребуется позже.

    Далее запустится визард и предложит заполнить несколько модальных окон с вопросами о настройках. Пример модального окна:

  6. В модальном окне ответьте на несколько вопросов: Запишите имена учетных записей и пароли к ним. Настройки почтового сервера можно будет изменить позже.

    Вопрос о параметре Инструкции
    1. ClickHouse server ADMIN username, password Введите логин и пароль администратора ClickHouse. Если выполняется установка на чистую машину (ClickHouse ранее установлен не был), используйте пользователя default и пароль, который вы задали ранее в этом процессе.
    2. SMTP server address, port and mail sender email По умолчанию предлагается использовать открытый SMTP-сервер на localhost, в котором уже предварительно настроена необходимая маршрутизация исходящего SMTP-трафика. Дефолтные атрибуты: address (127.0.0.1), port (25) и email (noreply@localhost). Чтобы Глобальный администратор мог добавлять пользователей в Аккаунт компании, нужно заменить дефолтные атрибуты на актуальные вручную (т.е. задать креды вашего почтового сервера) или настроить параметры SMTP-сервера после установки пакета.
    3. Cloudmaster admin password Задайте пароль для аутентификации в Cloudmaster
    4. Cloudmaster server FQDN Точное значение FQDN или IP-адрес ВМ с Cloudmaster. Введите публичный IP-адрес (например, 192.168.5.2) и нажмите Ok
    5. Configure StartTLS Выберите, нужно ли настроить StartTLS (Да/Нет)
  7. После ответа на вопросы программа-установщик укажет IP-адрес (например, https://192.168.5.2) или FQDN (например, https://cloudmaster.org.local), где будет развернута платформа Cloudmaster, ваши логин (дефолтное значение admin@demo.cloudmaster.ru) и пароль.

    Сохраните логин и пароль для дальнейшей аутентификации в Cloudmaster и нажмите на Ok.

    Дождитесь завершения установки основного модуля Cloudmaster (терминал покажет прогресс по завершению процессов 100%), затем перейдите к https://{ip-address}.

    Первый запуск веб-приложения Cloudmaster

    • Подождите 2–3 минуты, пока продукт Cloudmaster заработает после установки основного модуля.

    • Когда вы впервые входите в аккаунт в Cloudmaster, браузер может показать предупреждение о ненадежном сертификате SSL/TLS. Во время установки Cloudmaster защищает соединение между браузером и веб-приложением с помощью самостоятельно сгенерированного сертификата SSL/TLS, который инициирует предупреждение.

    Установка основного модуля Cloudmaster завершена.

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

Если вы планируете подключать Cloud Director или vSphere, переходите к установке приватного агента.

Если вы планируете подключение K8s, переходите к установке модуля сбора метрик K8s.

Установка приватного агента⚓︎

Для установки приватного агента введите следующую команду в терминале:

sudo apt install cloudmaster-agent-private

Установка модуля K8s⚓︎

Для установки модуля K8s введите следующую команду в терминале:

sudo apt install cloudmaster-k8s-metric-exporter

Модуль включает в себя сервис Prometheus, который будет принимать данные от кластеров K8s.

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

Позже данные доступа можно посмотреть и изменить в файле параметров приложения.

Настройки Prometheus⚓︎

Prometheus — это открытая система мониторинга и алертинга, которая собирает и хранит метрики (временные ряды данных) с серверов, приложений и сервисов, позволяя анализировать их с помощью языка PromQL.

Администратору ВМ, на которой установлен продукт, может потребоваться внести изменения в настройки Prometheus.

Для записи и чтения метрик без пароля можно добавить список разрешенных IP-адресов в файле конфигурации NGINX:

/opt/cloudmaster/nginx/k8s-metric-exporter.locations.conf
Изменение логина и пароля к сервису можно сделать в файле:

/opt/cloudmaster/services/k8s-metric-exporter/application.properties
После внесения изменений перезапустите сервисы.

Проверить работу сервиса Prometheus можно в интерфейсе по адресу: https://[ДОМЕН ИЛИ IP-АДРЕС МАШИНЫ]/prometheus, через командную строку по адресу: https://[ДОМЕН ИЛИ IP-АДРЕС МАШИНЫ]/prometheus/api/v1/write

Настройка SMTP-сервера⚓︎

В случае если вы пропустили шаги настройки SMTP-серверa во время установки основного модуля сервер можно настроить вручную, выполнив 2 шага.

  1. Откройте файл /opt/cloudmaster/services/notifications/application.properties и внесите актуальные значения в следующие параметры:

    spring.mail.host=

    spring.mail.port=

    spring.mail.username=

    spring.mail.password=

    spring.mail.properties.mail.from=

    spring.mail.properties.mail.transport.protocol=smtp

    spring.mail.properties.mail.smtp.auth=true

    spring.mail.properties.mail.smtp.starttls.enable=true

    spring.mail.properties.mail.smtp.starttls.required=false

  2. Перезапустите пакет Cloudmaster командой:

    sudo systemctl restart cloudmaster-notifications.service
    

Как сделать резервную копию данных⚓︎

Необходимый аккаунт

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

("sudo -i" или "su - root")

  1. Создайте директорию для данных бэкапа и перейдите в неё.

    mkdir cloudmaster_backup && cd cloudmaster_backup
    
  2. Сделайте резервную копию БД PostgreSQL.

    sudo -u postgres pg_dump cm-analytics | gzip > cm-analytics.db.dump.sql.gz
    
  3. Получите URI для подключения к MongoDB.

    grep 'mongo.db.private.agent.uri' /opt/cloudmaster/services/agent-private/application.properties | awk -F= '{print $2}'
    
  4. Сделайте резервную копию БД MongoDB.

    mongodump --uri='URI из п. 3' --forceTableScan --gzip --out=.
    
  5. Архивируйте файлы пакета Сloudmaster.

    tar --exclude="*/logs/" -cvzf cloudmaster.files.tgz /opt/cloudmaster
    

В результате выполненных действий в текущей директории должны появиться два файла и одна папка:

  • файл cm-analytics.db.dump.sql.gz,

  • файл cloudmaster.files.tgz,

  • папка cloudmaster-agent-private.

Восстановление данных из резервной копии⚓︎

Необходимый аккаунт

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

("sudo -i" или "su - root")

  1. Перейдите в созданную на этапе бэкапа директорию с данными бэкапа.

    cd cloudmaster_backup
    
  2. Проверьте содержимое директории.

    ls -l
    

    В директории должны находиться два файла и одна папка:

    • файл cm-analytics.db.dump.sql.gz,

    • файл cloudmaster.files.tgz,

    • папка cloudmaster-agent-private.

  3. Остановите сервисы CloudMaster.

    systemctl stop cloudmaster-*.service
    
  4. Удалите текущую БД PostgreSQL и создайте вместо неё пустую.

    sudo -u postgres dropdb cm-analytics && sudo -u postgres createdb -E 'UTF8' -l 'C.UTF-8' -O cm-analytics -T template0 cm-analytics
    
  5. Получите пароль пользователя cm-analytics для подключения к PostgreSQL.

    grep 'spring.datasource.password' /opt/cloudmaster/services/main/application.properties | awk -F= '{print $2}'
    
  6. Наполните БД PostgreSQL данными из бэкапа.

    sudo -iu postgres zcat `pwd`/cm-analytics.db.dump.sql.gz | PGPASSWORD="пароль из п.5" psql -h 127.0.0.1 -p 5432 -U cm-analytics -d cm-analytics
    
  7. Укажите путь поиска в БД для пользователя cm-analytics.

    sudo -iu postgres psql -qc "ALTER ROLE \"cm-analytics\" IN DATABASE \"cm-analytics\" SET search_path TO dwh;"
    
  8. Удалите текущую БД MongoDB.

    mongo cloudmaster-agent-private --eval "db.dropDatabase()"
    
  9. Восстановите БД MongoDB из резервной копии.

    mongorestore --db cloudmaster-agent-private --gzip --drop --noIndexRestore cloudmaster-agent-private
    
  10. Восстановите файлы пакета CloudMaster.

    rm -fr /opt/cloudmaster && tar -xvzf cloudmaster.files.tgz -C /
    
  11. Запустите сервисы CloudMaster.

    systemctl start cloudmaster-agent-private cloudmaster-auth cloudmaster-integration cloudmaster-main cloudmaster-management cloudmaster-notifications cloudmaster-reports cloudmaster-settings
    

Удаление модулей⚓︎

Для удаления основного модуля Cloudmaster введите следующую команду в терминале:

sudo apt purge --autoremove cloudmaster

Для удаления K8s модуля:

sudo apt remove cloudmaster-k8s-metric-exporter

Для удаления приватного агента:

sudo apt remove cloudmaster-agent-private