Arenadata Enterprise Tools ========================== Обзор пакета Arenadata Enterprise Tools --------------------------------------- Зачастую в связи с принятой в организации политикой информационной безопасности доступ к ресурсам сети Интернет ограничивается. Запрос на предоставление доступа может быть сопряжен с бюрократическими проволочками и требовать длительное время на согласование. В то же время для развертывания продуктов **Arenadata** необходим доступ к репозиториям с ее продуктами. Для решения этой проблемы создан **Arenadata Enterprise Tools**. Продукт **Arenadata Enterprise Tools** предоставляет инфраструктуру для развертывания продуктов **Arenadata** в среде с ограниченным доступом к сети Интернет. Требования: #. Выделенный хост в сети организации. #. Доступ на хост на порты tcp (*22*, *53*, *80*, *81*, *443*, *3000*, *8000*, *2015*) и udp (*2016*). #. Доступ с хоста к стандартным репозиториям CentOS (*base*, *extra*, *updates*). #. Для развертывания **Enterprise Tools** необходимо запросить пакет установки. .. important:: Пакет установки без доступа в Интернет (*offline install bundle*) может быть использован только при наличии подписки на техническую поддержку продукта Arenadata Database. Для получения пакета следует обратиться в `службу технической поддержки Arenadata `_. Развертывание Arenadata Cluster Manager ---------------------------------------- Полученный пакет необходимо разместить на файловой системе выбранного для развертывания **Enterprise Tools** хоста. По умолчанию ожидается путь */tmp/pack.sh*, но при установке есть возможность указать другой вариант. Затем необходимо зайти по *ssh* на хост. Необходимо убедиться, что на хосте установлен пакет *docker* и запущен сервис для управления контейнерами. После этого на хосте необходимо выполнить команду: :: sh <путь к файлу пакета> master_adcm Например: :: sh /tmp/pack.sh master_adcm Данная команда извлекает из пакета образ **Arenadata Cluster Manager**, создает на его основе контейнер с именем *adcm* и запускает его. После этого web-интерфейс **ADCM** становится доступен на хосте **Enterprise Tools** на порту *8000*. Например, если хост **Enterprise Tools** расположен на хосте с ip-адресом ``10.0.20.10``, то для открытия web-интерфейса необходимо указать в адресной строке браузера ``http://10.0.20.10:8000``. Создание экземпляра кластера Enterprise Tools --------------------------------------------- Для продолжения установки в **ADCM** на вкладке *BUNDLES* необходимо загрузить (:numref:`Рис.%s `): #. Бандл Arenadata Enterprise Tools. #. Бандл необходимого провайдера хостов (вероятно, это провайдер ssh). .. _img_1: .. figure:: ../images/1.png :align: center Загрузка бандлов в ADCM Далее необходимо создать экземпляр провайдера хостов на вкладке *HOSTPROVIDERS* (:numref:`Рис.%s `). .. _img_2: .. figure:: ../images/2.png :align: center Создание провайдера хостов Затем необходимо создать экземпляр кластера **Enterprise Tools** на вкладке *CLUSTERS* (:numref:`Рис.%s `) и выбрать созданный кластер для дальнейшей настройки и инициализации. .. _img_3: .. figure:: ../images/3.png :align: center Создание кластера Enterprise Tools На странице кластера на вкладке *Services* для установки доступны следующие компоненты: #. *HTTP Mirror* -- http-сервер, предоставляющий необходимые для продуктов Arenadata пакеты. #. *Docker Registry* -- локальное хранилище необходимых для продуктов Arenadata образов Docker. #. *Core DNS* -- сервер DNS, использующий для разрешения имен базу данных ADCM. #. *Graphite* -- набор компонентов для получения, хранения и визуализации метрик мониторинга, получаемых с хостов кластера. #. *Grafana* -- инструмент для создания удобных и наглядных рабочих столов мониторинга. #. *Diamond* -- клиентский сервис, снимающий системные метрики с хостов кластера и передающий их компонентам Graphite. .. important:: Установка Core DNS и сервисов мониторинга (Graphite, Grafana, Diamond) опциональна. Для установки компонентов мониторинга требуются компоненты HTTP Mirror и Docker Registry Установка HTTP Mirror и Docker Registry --------------------------------------- На вкладке *Services* кластера **Enterprise Tools** необходимо добавить сервисы *HTTP Mirror* и *Docker Registry* (:numref:`Рис.%s `). .. _img_4: .. figure:: ../images/4.png :align: center Добавление сервисов в кластер Для сервиса *HTTP Mirror* доступны следующие конфигурационные параметры: + ``local_dir`` -- каталог, в котором хранятся извлеченные пакеты, необходимые для установки продуктов Arenadata; + ``listener host`` -- ip-адрес, по которому доступен репозиторий для хостов, на которых разворачиваются продукты Arenadata. Если поле оставить пустым, при установке оно заполняется адресом, присвоенным сетевому интерфейсу, для которого существует маршрут по умолчанию; + `listener http_port`` -- порт, по которому доступен репозиторий. Для сервиса *Docker Registry* доступны следующие конфигурационные параметры: + ``local_dir`` -- каталог, который используется как хранилище образов контейнеров, необходимых для установки продуктов Arenadata; + ``listener host`` -- ip-адрес, по которому доступен репозиторий для хостов, на которых разворачиваются продукты Arenadata. Если поле оставить пустым, при установке оно заполняется адресом, присвоенным сетевому интерфейсу, для которого существует маршрут по умолчанию; + ``listener http_port`` -- порт, по которому доступен репозиторий; + ``listener certificate`` -- содержимое самоподписанного сертификата, который генерируется в процессе установки. Сертификат импортируется в хранилище сертификатов Docker в процессе установки продуктов Arenadata. На вкладке *Hosts* кластера необходимо создать экземпляр хоста на основе предварительно созданного провайдера хостов *ssh* (:numref:`Рис.%s `). .. _img_5: .. figure:: ../images/5.png :align: center Создание экземпляра хоста Для этого в настройках хоста необходимо в поле ``ansible_host`` указать ip-адрес сервера, на котором выполняется установка **Enterprise Tools**. Также необходимо указать учетные данные для подключения к серверу по *ssh*: имя пользователя, пароль или закрытый ключ (:numref:`Рис.%s `). .. _img_6: .. figure:: ../images/6.png :align: center Настройка адреса и учетных данных хоста На вкладке *Host - Components* необходимо связать созданный хост с компонентами сервисов: *HTTP Repo Server* и *Docker Registry* (:numref:`Рис.%s `). .. _img_7: .. figure:: ../images/7.png :align: center Создание связей между компонентами и хостом Затем на вкладке *Hosts* необходимо проверить возможность подключения к созданному хосту. Для этого в столбце "Actions" для хоста необходимо нажать на пиктограмму и выбрать из выпадающего списка действие *Check connection* (:numref:`Рис.%s `). Если проверка соединения завершается успешно, можно приступать к установке компонентов **Enterprise Tools**. Статус выполнения задачи можно проверить на вкладке *JOBS*. .. _img_8: .. figure:: ../images/8.png :align: center Проверка возможности подключения ADCM к хосту Для установки компонентов **Enterprise Tools** предусмотрены два действия: #. *Install* -- попытка получения необходимых пакетов из репозиториев, расположенных в сети Интернет. #. *Offline Install* -- извлечение необходимых для установки пакетов из файла пакетов, предварительно загруженного на файловую систему сервера. При запуске предлагается указать путь до файла с пакетами. По умолчанию указывается путь */tmp/pack.sh* (:numref:`Рис.%s `). .. _img_9: .. figure:: ../images/9.png :align: center Запуск оффлайн-установки После успешного завершения любого из этих действий кластер переходит в состояние *operational*, в котором становится доступно действие *Upload Pack*. Данное действие предназначено для загрузки установочных файлов и образов, необходимых для развертывания продуктов **Arenadata**, из пакета, предварительно загруженного на файловую систему, в инициализированный http-репозиторий и *Docker registry*. Действие можно повторять впоследствии, загрузив на файловую систему пакет со свежими версиями установочных файлов. Как и в случае инициализации репозитория, есть возможность указать путь до пакета (:numref:`Рис.%s `). .. _img_10: .. figure:: ../images/10.png :align: center Загрузка пакетов в репозитории Развертывание мониторинга ------------------------- Опционально на этом же хосте возможна установка *Arenadata Monitoring*. Для этого необходимо после загрузки установочных файлов добавить сервисы мониторинга -- *Graphite*, *Grafana*, *Diamond* (:numref:`Рис.%s `). .. _img_11: .. figure:: ../images/11.png :align: center Добавление сервисов Arenadata Monitoring Для сервиса *Grafana* в настройках необходимо задать пароль для пользователя с полномочиями администратора для доступа к web-интерфейсу (:numref:`Рис.%s `). .. _img_12: .. figure:: ../images/12.png :align: center Настройка сервиса Grafana Затем необходимо на вкладке *Ноst - Componets* связать компоненты сервисов мониторинга с имеющимся хостом и сохранить изменения кнопкой *Save* (:numref:`Рис.%s `). .. _img_13: .. figure:: ../images/13.png :align: center Распределние компонентов мониторинга Если все необходимые настройки выполняются корректно, становится доступным действие кластера *Install Monitoring* (:numref:`Рис.%s `). .. _img_14: .. figure:: ../images/14.png :align: center Кластер готов к инициализации компонентов мониторинга В результате выполнения действия *Install Monitoring* на хост устанавливаются компоненты *Arenadata Monitoring*. Web-интерфейс *Grafana* доступен на указанном в настройках сервиса порту -- по умолчанию *3000* (:numref:`Рис.%s `). Теперь настройки кластера мониторинга можно импортировать в другие кластеры, разворачиваемые с помощью **ADCM**. .. _img_15: .. figure:: ../images/15.png :align: center Страница инициализированного cервиса Grafana Развертывание сервиса Core DNS ------------------------------ Если имеющаяся инфраструктура не предоставляет сервисов для разрешения имен хостов, а такой функционал необходим для развертываемых решений, следует установить сервис *Core DNS*. Данный сервис осуществляет разрешение имен хостов с помощью базы данных хостов **ADCM.** Таким образом FQDN любого хоста, созданного в **ADCM**, разрешается в его IP-адрес, указанный в поле ``asnible_host`` и наоборот. Для установки *Core DNS* необходимо добавить соответствующий сервис на вкладке *Services* кластера **Enterprise Tools**. Затем на вкладке *Host - Components* следует связать компонент сервиса *Simple DNS Server* с хостом, на котором развернут **Enterprise Tools**. После этого необходимо запустить переустановку компонентов с помощью действий *Install* или *Offline Install*. После завершения установки DNS-сервер становится доступен на стандартом порту *53*. .. important:: Для автоматической настройки взаимодействия с Core DNS необходима поддержка со стороны устанавливаемых продуктов. Информация о наличии такой поддержки может быть получена в документации по разворачиваемому продукту Обновление кластера Enterprise Tools ------------------------------------ Если в поставку обновления входит пакет ``pack.sh`` с обновленными Docker-образами, то данный файл необходимо разместить на том хосте, где установлен кластер **Enterprise Tools**. После чего следует выполнить действия: + Загрузить новую версию бандла **Enterprise Tools** в **ADCM**. Если данное обновление поддерживается, то в **ADCM** становится доступным значек *upgrade* в строке состояния кластера; + Произвести обновление версии путем нажатия значка *Upgrade* и выбрав новую версию в выпадающем меню; + Если данное обновление требует дополнительных действий, то в списке *Actions* кластера появляется кнопка *Upgrade*, а состояние кластера меняется с *Operational* на *Upgradable*; + Для продолжения обновления выбрать действие *Upgrade* в списке доступных действий. В открывшемся диалоговом окне указать путь к файлу ``pack.sh``, поставляемому с обновлением. Если ``pack.sh`` отсутствует в поставке, оставить путь по умолчанию; + Завершить обновление путем нажатия кнопки *OK* в диалоговом окне. .. important:: В процессе обновления некоторые компоненты могут быть перезапущены Обновление ОС Altlinux при обновлении на версию *ET 2022101300* или выше. ^^^^^^^^^^^^ .. important:: При обновлении кластера Enterprise Tools на базе ОС Altlinux 8.2 СП на версию *ET 2022101300* или выше установка приостановится после этапа Check и будет ожидать обновления ОС до версии Altlinux 8.4 СП. После успешного обновления и перезапуска шага Upgrade система будет обновлена до соответствующей версии бандла ET. Release Notes ------------------ ET 2022101300: ^^^^^^^^^^^^ + Добавлена поддержка ``AltLinux 8.4 СП``, при этом ``AltLinux 8.2 СП`` более недоступен + Добавлен шаг Check (Pre-Upgrade) для проверки совместимости + Исправлена ошибка при попытке использовать сертификаты для Registry, при которой было недоступно поле для ввода приватного ключа ET 2023020200: ^^^^^^^^^^^^ + Обновлена версия контейнера *registry* (с добавлением ``mintls1.2``) + Обновлена версия контейнера *nginx*