Установка

Online-установка с использованием Docker-образа

ПРИМЕЧАНИЕ
  • Рекомендуется самостоятельно настроить PostgreSQL в качестве внешней базы данных или развернуть встроенную базу данных с помощью ADCM Installer. Дополнительную информацию о настройке PostgreSQL можно получить в статье Настройка ADCM для использования внешней базы данных.

  • Для просмотра полного списка доступных образов можно обратиться к репозиторию ADCM на Docker Hub.

  • Все данные ADCM сохраняются в папке /adcm/data внутри Docker-контейнера. Во избежание потерь данных рекомендуется примонтировать к контейнеру том (Docker Volume) с последующей настройкой его бэкапов.

Для установки ADCM выполните следующие действия:

  1. Скачайте Docker-образ из Arenadata Docker Registry:

    $ sudo docker pull hub.arenadata.io/adcm/adcm:<version>

    где <version> — это версия Docker-образа в одном из следующих форматов:

    • <major>.<minor>.<patch> — если необходим конкретный патч ADCM. Пример: 2.0.0.

    • <major>.<minor> — если необходим последний патч в рамках выбранной версии ADCM. Пример: 2.0.

    ВАЖНО
    • latest использовался для ранних версий ADCM и начиная с версии 2.0.0 больше не поддерживается.

    • До выпуска ADCM 2.0.0 для версионирования использовался следующий формат: YYYY.MM.DD.HH.

  2. Создайте Docker-контейнер на основе загруженного образа:

    ПРИМЕЧАНИЕ
    Приведенная ниже команда создает контейнер с ADCM на порте 8000 и устанавливает подключение к внешней базе данных. Все данные контейнера будут храниться в директории /opt/adcm/. Описание переменных окружения приведено в таблице ниже.
    $ sudo docker create --name adcm -p 8000:8000 -v /opt/adcm:/adcm/data -e DB_HOST="<DATABASE_HOSTNAME_OR_IP_ADDRESS>" -e DB_PORT="<DATABASE_TCP_PORT>" -e DB_USER="<DATABASE_USERNAME>" -e DB_NAME="<DATABASE_NAME>" -e DB_PASS="<DATABASE_USER_PASSWORD>" -e DB_OPTIONS="<DATABASE_OPTIONS>" hub.arenadata.io/adcm/adcm:<version>

    Если требуется запустить ADCM с включенным SELinux, при создании Docker-контейнера необходимо указать опцию :Z в параметре, содержащем имя каталога данных:

    $ sudo docker create --name adcm -p 8000:8000 -v /opt/adcm:/adcm/data:Z hub.arenadata.io/adcm/adcm:<version>

    Опционально при создании контейнера можно указать переменные окружения, перечисленные ниже. Каждая переменная указывается в формате -e <name>="<value>". Пример:

    $ sudo docker create --name adcm -p 8000:8000 -v /opt/adcm:/adcm/data -e LOG_LEVEL="INFO" hub.arenadata.io/adcm/adcm:<version>
    ПРИМЕЧАНИЕ
    Специальные переменные окружения, такие как STATUS_LOG_LEVEL, ADCM_LOG_LEVEL, AUDIT_LOG_LEVEL, LDAP_LOG_LEVEL, BACKGROUND_TASKS_LOG_LEVEL и TASK_RUNNER_LOG_LEVEL, являются более приоритетными, чем переменная окружения LOG_LEVEL.
Переменные окружения
Имя Описание

DB_HOST

Имя или IP-адрес хоста, на котором развернута база данных

DB_PORT

Номер TCP-порта для подключения к базе данных

DB_USER

Имя пользователя для подключения к базе данных

DB_NAME

Имя базы данных

DB_PASS

Пароль пользователя для подключения к базе данных

DB_OPTIONS

Параметры для подключения к базе данных:

  • sslmode — флаг, используемый для установления SSL-соединения. Возможные значения:

    • disable — установить только соединение без использования SSL.

    • allow — попытаться установить соединение без использования SSL. Если не удастся — попытаться установить SSL-соединение.

    • prefer (по умолчанию) — попытаться установить SSL-соединение. Если не удастся — попытаться установить соединение без использования SSL.

    • require — попытаться установить только SSL-соединение. Если присутствует файл корневого сертификата удостоверяющего центра (Certificate Authority, CA) — проверить сертификат так же, как если бы было указано verify-ca.

    • verify-ca — попытаться установить только SSL-соединение и проверить, что сертификат сервера выдан доверенным удостоверяющим центром.

    • verify-full — попытаться установить только SSL-соединение и проверить, что сертификат сервера выдан доверенным удостоверяющим центром и запрашиваемое имя хоста сервера совпадает с указанным в сертификате.

  • sslcert — расположение файла SSL-сертификата клиента. Этот параметр игнорируется, если соединение устанавливается без SSL.

  • sslkey - расположение секретного ключа, используемого для клиентского сертификата. Этот параметр игнорируется, если соединение устанавливается без SSL.

  • sslrootcert — расположение файла, содержащего сертификат(ы) центра сертификации SSL. Если файл существует, сертификат сервера будет проверен одним из этих центров сертификации. Вы также можете указать специальное значение системы — в этом случае будут загружены доверенные корневые сертификаты системы. Точные местоположения этих корневых сертификатов зависят от реализации SSL и платформы.

DEFAULT_ADCM_URL

URL хоста, на котором разворачивается контейнер ADCM. Указывается в формате: http://<IP>:8000/. Если переменная не указана при создании контейнера, URL необходимо будет заполнить вручную в поле ADCM’s URL на странице Settings

LOG_LEVEL

Уровень логирования для всех типов логов. Возможные значения:

  • DEBUG

  • INFO

  • WARNING

  • ERROR (значение по умолчанию)

  • CRITICAL

STATUS_LOG_LEVEL

Уровень логирования для status.log. Возможные значения:

  • DEBUG

  • INFO

  • WARNING

  • ERROR

  • CRITICAL

ADCM_LOG_LEVEL

Уровень логирования для adcm.log и adcm_debug.log. Возможные значения:

  • DEBUG

  • INFO

  • WARNING

  • ERROR

  • CRITICAL

AUDIT_LOG_LEVEL

Уровень логирования для audit.log. Возможные значения:

  • DEBUG

  • INFO (значение по умолчанию)

  • WARNING

  • ERROR

  • CRITICAL

LDAP_LOG_LEVEL

Уровень логирования для ldap.log. Возможные значения:

  • DEBUG

  • INFO

  • WARNING

  • ERROR

  • CRITICAL

BACKGROUND_TASKS_LOG_LEVEL

Уровень логирования для cron_task.log. Возможные значения:

  • DEBUG

  • INFO

  • WARNING

  • ERROR

  • CRITICAL

TASK_RUNNER_LOG_LEVEL

Уровень логирования для task_runner.err. Возможные значения:

  • DEBUG

  • INFO

  • WARNING

  • ERROR

  • CRITICAL

MIGRATION_MODE

Флаг, указывающий на использование режима миграции — переноса базы данных ADCM с SQLite на PostgreSQL. Дополнительную информацию можно получить в статье Миграция ADCM. Возможные значения:

  • 0 — режим миграции выключен;

  • 1 — режим миграции включен.

Offline-установка (доступно в Enterprise Edition)

При использовании версии Enterprise дополнительно доступна offline-установка ADCM. Она подходит для развертывания системы на хостах без доступа к Интернету.

Offline-установка ADCM включает следующие шаги:

  1. Запросите у команды поддержки Arenadata архив с расширением sh.xz, который содержит специальный установочный shell-скрипт.

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

  3. Распакуйте архив в созданной директории любым из доступных способов.

    ПРИМЕЧАНИЕ
    Выполнение команды может занять некоторое время. Пожалуйста, дождитесь ее завершения.
  4. Загрузите Docker-образ в локальное хранилище с помощью полученного скрипта:

    $ sudo bash <script_name> unpack_adcm

    где <script_name> — полное имя скрипта с расширением (например, adcm_2.5.0.sh).

    Пример результата успешной обработки команды:

    Loaded image: hub.arenadata.io/adcm/adcm:2.5.0
  5. Создайте новый Docker-контейнер на базе загруженного Docker-образа:

    $ sudo docker create --name adcm -p 8000:8000 -v /opt/adcm:/adcm/data -e DB_HOST="<DATABASE_HOSTNAME_OR_IP_ADDRESS>" -e DB_PORT="<DATABASE_TCP_PORT>" -e DB_USER="<DATABASE_USERNAME>" -e DB_NAME="<DATABASE_NAME>" -e DB_PASS="<DATABASE_USER_PASSWORD>" -e DB_OPTIONS="<DATABASE_OPTIONS>" hub.arenadata.io/adcm/adcm:<version>

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

Поскольку ADCM представляет собой контейнер под управлением Docker, за его запуск и установку отвечают стандартные Docker-команды:

  • Запуск ADCM.

    $ sudo docker start adcm
  • Остановка ADCM.

    $ sudo docker stop adcm
  • Автозапуск ADCM. Чтобы настроить автоматический запуск Docker-контейнера в случае непредвиденных ошибок, используйте следующую команду.

    $ sudo docker update --restart=on-failure adcm
ПРИМЕЧАНИЕ
  • Дополнительная информация по политикам перезапуска Docker-контейнеров (restart policies) может быть получена из документации Docker.

  • Если для текущего пользователя настроен доступ к Docker CLI без использования прав root, слово sudo в предыдущих командах необязательно.

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

Проверка статуса Docker-контейнера

Чтобы убедиться в успешной установке Docker-контейнера adcm, выполните следующую команду:

$ sudo docker container ls

Пример результата выполнения команды приведен ниже. Убедитесь, что в столбце STATUS выводится значение Up:

CONTAINER ID        IMAGE                               COMMAND             CREATED             STATUS              PORTS                    NAMES
74b5628146e5        hub.arenadata.io/adcm/adcm:2.0   "/etc/startup.sh"   4 days ago          Up 21 minutes       0.0.0.0:8000->8000/tcp   adcm

Проверка доступности порта 8000

После установки и запуска ADCM его web-интерфейс должен стать доступным на 8000 порте развернутого контейнера.

Для операционной системы Ubuntu 22.04 предварительно установите пакет для запуска команды netstat:

$ sudo apt-get install net-tools

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

  • netstat — для вывода информации о состоянии порта.

    $ sudo netstat -ntpl | grep 8000

    Пример результата выполнения команды:

    tcp6       0      0 :::8000                 :::*                    LISTEN                                             1514/docker-proxy-c
  • curl — для проверки URL-соединения.

    $ curl http://localhost:8000

    Пример результата выполнения команды:

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>Arenadata Cluster Manager</title>
      <base href="/">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="icon" type="image/x-icon" href="assets/favicon.ico">
    <link rel="stylesheet" href="styles.10db6328264e0907c52f.css"></head>
    <body>
      <app-root></app-root>
    <script src="runtime-es2015.7eb406ed18bf0258cd35.js" type="module"></script><script src="runtime-es5.7eb406ed18bf0258cd35.js" nomodule defer></script><script src="polyfills-es5.2e224d70daec4412d3c2.js" nomodule defer></script><script src="polyfills-es2015.37e0553ac06970d6a5b5.js" type="module"></script><script src="main-es2015.39851da0ebf9ed6fec45.js" type="module"></script><script src="main-es5.39851da0ebf9ed6fec45.js" nomodule defer></script></body>
    </html>

Проверка web-интерфейса ADCM

При установке ADCM автоматически создается пользователь с административными правами. Чтобы зайти в ADCM, используйте следующие учетные данные:

  • User: admin

  • Password: admin

Вход в ADCM
Вход в ADCM

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

  1. Откройте профиль текущего пользователя в левом навигационном меню.

  2. Введите текущий пароль в поле Current password.

  3. Укажите новый пароль в поле New password.

  4. Подтвердите новый пароль в поле Confirm password.

  5. Нажмите Save.

    Изменение пароля пользователя admin
    Изменение пароля пользователя admin

Установка URL ADCM

Для успешного обмена данными между ADCM и развернутыми с его помощью кластерами важно корректное определение внешнего адреса ADCM. В дальнейшем этот адрес будет использоваться для отправки в ADCM статусов кластерных компонентов. Для указания URL ADCM используется переменная окружения DEFAULT_ADCM_URL при создании контейнера ADCM. Если переменная не была указана, необходимо установить URL вручную в web-интерфейсе ADCM. Для этого выполните шаги:

  1. Выберите пункт Settings в левом навигационном меню.

  2. Раскройте узел Global Options в дереве конфигурационных настроек.

  3. Нажмите на значение поля ADCM’s URL.

    Страница Settings
    Страница Settings
  4. В открывшемся окне измените значение ADCM’s URL и нажмите Apply.

    Редактирование URL ADCM
    Редактирование URL ADCM
  5. Нажмите Save для сохранения внесенных изменений.

    Сохранение URL ADCM
    Сохранение URL ADCM
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней