Общие сведения о программе ========================== Обозначение и наименование программы ------------------------------------ .. Подключаем раздел Название программы (name_program) .. include:: /project_dtm/doc_reuse/name_program.rst Назначение программы -------------------- .. Подключаем раздел Назначение программы (lite_purpose_program.rst) .. include:: /project_dtm/doc_reuse/typical_purpose_program.rst Возможности программы --------------------- В настоящий момент реализовано две конфигурации Программы: - Стандарт; - Лайт. .. tab-set:: .. tab-item:: Возможности конфигурации Стандарт .. Подключаем раздел Возможности программы (typical_program_function) .. include:: /project_dtm/doc_reuse/typical_program_functions.rst .. tab-item:: Возможности конфигурации Лайт .. Подключаем раздел Возможности программы (lite_program_functions.rst) .. include:: /project_dtm/doc_reuse/lite_program_functions.rst Операционная система ------------------------- Операционная система устанавливается на сервер, где будет развернута программа. Программа может функционировать под одной из следующих операционных систем: - РЕД ОС версии 7.2 (далее - РЕД ОС); - АЛЬТ Сервер 8 СП (далее - АЛЬТ ОС); - Astra Linux 1.7 (уровень защищенности "Воронеж"). .. _hard_soft_ware: Рекомендуемые технические и программные средства ------------------------------------------------ В разделе приведены рекомендации по аппаратному и программному обеспечению, а также необходимая конфигурация сети для оптимального баланса между производительностью и стабильностью работы всех компонентов программы. Рекомендация основана на использовании программы в режиме стандартной рабочей нагрузки на тестовом стенде (см :numref:`config_recomendations`). .. note:: Следует учитывать, что невозможно дать универсальной рекомендации для развертывания программы т.к. вариантов конфигурации оборудования, характера нагрузки и других факторов может быть очень много. Предварительный расчет параметров оборудования на этапе внедрения для каждой организации должен быть рассчитан индивидуально. Советуем установить программу с приведенными ниже рекомендациями на тестовом стенде для того чтобы определить оптимальную конфигурацию для ваших сценариев работы. Рекомендуем выполнить следующее: - продумайте сценарии работы с программой необходимые для достижения ваших целей; - установите программу (см. Руководство по установке) на тестовом стенде с рекомендуемыми техническими характеристиками (:numref:`table_server_requirements_full_version` и :numref:`table_lite_server_requirements`); - создайте структуру Витрины; - подготовьте тестовые данные для загрузки и определите количество загружаемых данных; - в процессе загрузки данных проведите измерение ключевых параметров нагрузки серверного оборудования; - линейно экстраполируйте эти данные на целевую систему, получив таким образом загруженность целевого оборудования; - выберете оборудование, которое будет соответствовать нагрузке для ваших задач. Ниже приведены параметры тестового стенда, на котором проверялась работоспособность программы. .. tab-set:: .. tab-item:: Серверное оборудование конфигурации Стандарт Рекомендованные требования к серверному оборудования приведены в :numref:`table_server_requirements_full_version`. .. _table_server_requirements_full_version: .. rst-class:: longtable .. table:: Требования к серверному оборудованию конфигурации Стандарт +-------------------+----------------+---------+-------------+---------+----------------+ | **Сервер** | **Назначение** | **CPU** | **RAM, ГБ** | **HDD** | **Количество** | +===================+================+=========+=============+=========+================+ | Prostore | Сервис | 4 | 8 | 50 | 1 | | | исполнения | | | | | | | запросов | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | BLOB- адаптер | BLOB- адаптер | 4 | 16 | 50 | 2 | +-------------------+----------------+---------+-------------+---------+----------------+ | Сервис | | 2 | 8 | 50 | 2 | | формирования | | | | | | | документов | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ QL Сервер | | 4 | 8 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ3-адаптер | СМЭВ3-адаптер | 4 | 8 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | CSV-Uploader | | 4 | 8 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ4-адаптер - | | 4 | 8 | 50 | 2 | | Модуль | | | | | | | исполнения | | | | | | | запросов | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ4-адаптер - | | 4 | 8 | 50 | 2 | | Модуль MPPR | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ4-адаптер - | | 4 | 16 | 50 | 2 | | Модуль MPPW | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ4-адаптер - | | 2 | 4 | 50 | 2 | | Модуль импорта | | | | | | | данных ТП | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ4-адаптер - | | 2 | 4 | 50 | 2 | | Модуль | | | | | | | группировки | | | | | | | данных ТП | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ4-адаптер - | | 4 | 8 | 50 | 2 | | Модуль | | | | | | | дефрагментации | | | | | | | чанков табличных | | | | | | | параметров | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ4-адаптер - | | 4 | 8 | 50 | 2 | | Модуль | | | | | | | подписок | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | СМЭВ4-адаптер - | | 2 | 4 | 50 | 2 | | Модуль | | | | | | | Группировки | | | | | | | чанков репликаций | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | Data-Uploader | | 4 | 8 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | REST-Uploader | | 4 | 8 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | Counter-provider | | 2 | 4 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | REST-адаптер | REST-адаптер | 2 | 4 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | ETL | | 4 | 8 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | Backup manager | | 2 | 4 | 50 | 1 | +-------------------+----------------+---------+-------------+---------+----------------+ | Arenadata | | 4 | 16 | 200 | 1 | | Cluster | | | | | | | Manager | | | | | | | (ADCM) | | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | Arenadata | Apache | 4 | 4 | 5 | 1 | | Streaming | ZooKeeper | | | | | | (ADS) +----------------+---------+-------------+---------+----------------+ | | Apache | 4 | 4 | 5 | 2 | | | Kafka | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ | Мониторинг и | Grafana | 32 | 32 | 1000 | 3 | | администрирование +----------------+ | | | | | (установка | Prometheus | | | | | | опциональна) +----------------+ | | | | | | Graylog | | | | | | +----------------+ | | | | | | МongoDB | | | | | | +----------------+ | | | | | | Elasticsearch | | | | | | | (master) | | | | | | +----------------+ | | | | | | Elasticsearch | | | | | | | (data) | | | | | | +----------------+ | | | | | | Filebeat | | | | | | +----------------+ | | | | | | Node Exporter | | | | | +-------------------+----------------+---------+-------------+---------+----------------+ .. tab-item:: Серверное оборудование конфигурации Лайт Рекомендованные требования к серверному оборудования приведены в :numref:`table_lite_server_requirements`. .. _table_lite_server_requirements: .. table:: Требования к серверному оборудованию ========================= =============== ================= **Требования** **Минимальные** **Рекомендуемые** ========================= =============== ================= Процессор (CPU) 4 ядра 24 ядра Оперативная память (RAM) 16 Гб 128 Гб Жесткий диск (HDD) 100 Гб 500 Гб ========================= =============== ================= .. tab-set:: .. tab-item:: Программное обеспечение конфигурации Стандарт Рекомендованные требования к программному обеспечению приведены в :numref:`table_soft_standart`. .. _table_soft_standart: .. table:: Минимальный состав программных средств конфигурации Стандарт +-------------------------+-------------------------+---------------+ | **Название** | **Описание** | **Версия** | +=========================+=========================+===============+ | Операционная система | РЕД ОС | 7.2 | | (выбор опционален) | | | | | АЛЬТ Сервер 8 СП | 8 | | | | | | | Astra Linux 1.7 | 1.7 | | | (уровень защищенности | | | | "Воронеж") | | +-------------------------+-------------------------+---------------+ | Docker | Программное обеспечение | 20.10.2 | | | для автоматизации | | | | развёртывания и | | | | управления приложениями | | +-------------------------+-------------------------+---------------+ | Java SE 17 | Среда разработки для | 17.0.7 | | | создания приложений с | | | | использованием языка | | | | программирования Java | | +-------------------------+-------------------------+---------------+ .. tab-item:: Программное обеспечение конфигурации лайт Рекомендованные требования к программному обеспечению приведены в :numref:`table_soft_lite`. .. _table_soft_lite: .. table:: Минимальный состав программных средств конфигурации лайт +-------------------------+-------------------------+---------------+ | **Название** | **Описание** | **Версия** | +=========================+=========================+===============+ | Операционная система | РЕД ОС | 7.2 | | (выбор опционален) | | | | | АЛЬТ Сервер 8 СП | 8 | | | | | | | Astra Linux 1.7 | 1.7 | | | (уровень защищенности | | | | "Воронеж") | | +-------------------------+-------------------------+---------------+ | Docker | Программное обеспечение | 20.10.2 | | | для автоматизации | | | | развёртывания и | | | | управления приложениями | | +-------------------------+-------------------------+---------------+ Компоненты программы --------------------- Состав компонентов дистрибутива программы приведен в разделе :ref:`distr_components` документа «Техническое описание программы ПО «Витрина данных НСУД»». Подготовка к установке ====================== .. _preactions: Предварительные действия ------------------------ .. note:: Установка Программы производится в закрытом контуре (без необходимости доступа к сети Интернет). .. tab-set:: .. tab-item:: Предварительные действия для конфигурации Стандарт #. Установить на серверы одну из поддерживаемых операционных систем (см. раздел :ref:`osinstall`). #. Проверить настройки Firewall и отключить при необходимости (см. раздел :ref:`firewallset`). #. Выключить SELinux (см. раздел :ref:`SELinux_set`). #. Указать соответствующий местоположению сервера часовой пояс (см. раздел :ref:`timezoneset`). #. Проверить, что на всех серверах установлен сервис синхронизации времени (см. раздел :ref:`timesync`). #. Проверить, что имена хостов (FQDN) серверов могут получать IP по имени со всех машин (см. раздел :ref:`fdqnset`); #. Установить/обновить Java SE Development Kit 17.0.7 (см. раздел :ref:`java_seventeen`) Дополнительно устанавливаются: - компонент сбора данных запросов и ответов Витрины (см. раздел :ref:`datacollect`); - сервис журналирования (см. раздел :ref:`logset`); - подсистему мониторинга (см. раздел :ref:`monitoringset`). .. tab-item:: Предварительные действия для конфигурации Лайт #. Установить на серверы одну из поддерживаемых операционных систем (см. раздел :ref:`osinstall`). #. Создать пользователя **datamart** с правами ``sudo`` (см. раздел :ref:`datamart_user`). #. Проверить настройки Firewall и отключить при необходимости (см. раздел :ref:`firewallset`). #. Выключить SELinux (см. раздел :ref:`SELinux_set`). #. Указать соответствующий местоположению сервера часовой пояс (см. раздел :ref:`timezoneset`). #. Настроить SSH-подключение к серверу, на котором планируется установка (см. раздел :ref:`ssh_putty`). #. Создать приватный и публичный SSH-ключ для пользователя *datamart* (см. раздел :ref:`ssh_key_create`). #. Скопировать публичный ключ на сервер (см. раздел :ref:`copy_ssh_key`). #. Скопировать архив программы (см. раздел :ref:`copy_lite_zip`). #. Установить Docker (см. раздел :ref:`install_docker`). #. Установить библиотеку *python-docker-py* (см. раздел :ref:`install_python_docker_py`). #. Настроить логирование (см. раздел :ref:`logging_setting_up`). #. Перезапустить Docker (см. раздел :ref:`restart_docker`). #. Добавить пользователя *datamart* в группу *docker* (см. раздел :ref:`add_user_to_docker_group`). #. Настроить Ansible (см. раздел :ref:`ansible_setting`). .. _osinstall: Установка операционной системы ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Программа может работать на одной из операционных систем: - Astra Linux Special Edition 1.7 (уровень защищенности "Воронеж"); - Alt 8 SP Server; - РЕД ОС, версии 7.2. Подробная инструкция по установке операционной системы Astra Linux Special Edition 1.7 приведена на официальном сайте разработчика: https://astralinux.ru/products/astra-linux-special-edition/documents-astra-se/ .. note:: Для Astra Linux Special Edition 1.7 нужно временно отключить мандатный контроль командой ``astra-mic-control disable`` и перезагрузить сервер. Подробная инструкция по установке операционной системы Alt 8 SP Server приведена на официальном сайте разработчика: https://www.basealt.ru/alt-8-sp-sertifikat-fstehk/docs Подробная инструкция по установке операционной системы РЕД ОС, версии 7.2 приведена в документе `"Руководство администратора по РЕД ОС 7.2" `_ .. _datamart_user: Создание пользователя **datamart** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт только для **конфигурации Лайт** Для установки программы конфигурации Лайт рекомендуется создать отдельного пользователя, для этого следует выполнить следующие действия: - создать пользователя **datamart**; - отключить для пользователя пароль при вызове ``sudo`` (необходимо для автоматической установки); - добавление пользователя в группу администраторов ``sudo``. Создание пользователя ^^^^^^^^^^^^^^^^^^^^^^^^ Чтобы создать пользователя **datamart** и установить для него пароль, выполните команды: .. code-block:: bash sudo useradd datamart sudo password for user: sudo passwd datamart sudo password for user: Changing password for user datamart. New password: Retype new password: После успешных действий система выведет сообщение: .. code-block:: bash passwd: all authentication tokens updated successfully. Отключение пароля ^^^^^^^^^^^^^^^^^^^^^ Чтобы отключить пароль ``sudo`` для пользователя **datamart**, надо добавить в настройки (пользователя или группы) директиву ``NOPASSWD``. Для этого последовательно выполните команду: .. code-block:: bash sudo visudo В открывшемся конфигурационном файле, с помощью команд редактора ``vim`` **Для Astra Linux Special Edition 1.7** Отредактируйте следующие записи: .. code-block:: datamart ALL=(ALL) NOPASSWD: ALL Для запуска sudo без пароля выполните: .. code-block:: astra-sudo-control disable **Для РЕД ОС** Отредактируйте следующие записи: .. code-block:: datamart ALL=(ALL) NOPASSWD: ALL **Для АЛЬТ ОС** Отредактируйте следующие записи: .. code-block:: # uncomment line WHEEL_USERS ALL=(ALL) NOPASSWD: ALL Сохраните изменения и закройте файл. Добавление пользователя в группу администраторов ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Чтобы добавить пользователя в группу администраторов, у которых есть права выполнения команды ``sudo``, выполните следующую команду: .. code-block:: bash sudo usermod -aG wheel datamart Чтобы добавить пользователя в группу администраторов в Astra Linux Special Edition 1.7 выполните следующую команду: .. code-block:: bash sudo usermod -aG astra-admin datamart Для проверки вы можете переключиться в учетную запись **datamart** и вывести список содержимого директории ``/root``, которое обычно доступно только для пользователя ``root user``: .. code-block:: bash su -datamart Password: sudo ls -la /root .. _firewallset: Настройка межсетевого экрана ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Для РЕД ОС ^^^^^^^^^^^^^^^^^^^^^^ Для корректной установки потребуется отключить службу ``FirewallD`` операционной системы РЕД ОС. Что просмотреть текущий статус работы приложения используйте команду ``firewall-cmd``: .. code-block:: bash sudo firewall-cmd --state В случае, если служба ``FirewallD`` запущена, команда выше выведет следующее сообщение: .. code-block:: bash running Вы можете временно остановить службу ``FirewallD`` для этого выполните следующую команду: .. code-block:: bash sudo systemctl stop firewalld Следует учитывать, что данная команда только временно отключит службу, при последующей перезагрузке служба ``FirewallD`` снова будет запущена. Чтобы отключить автоматический запуск службы ``FirewallD`` при загрузке операционной системы выполните команду: .. code-block:: bash sudo systemctl disable firewalld После отключения проверьте, что статус службы изменился на ``not running``, для этого выполните команду: .. code-block:: bash sudo firewall-cmd --state not running Для AltOS ^^^^^^^^^^^^^^ По умолчанию выключен. Никаких действий не требуется. .. _timezoneset: Выбор часового пояса ~~~~~~~~~~~~~~~~~~~~ Проверьте, что установлен нужный часовой пояс. В нашем случае, на команду ``timedatectl``, должна выводиться строка ``Time zone: Europe/Moscow (MSK, +0300)``. Пример команды: .. code-block:: bash timedatectl Пример ответа: .. code-block:: bash Local time: Mon 2021-12-20 12:06:39 MSK Universal time: Mon 2021-12-20 09:06:39 UTC RTC time: Mon 2021-12-20 09:06:49 Time zone: Europe/Moscow (MSK, +0300) NTP enabled: n/a NTP synchronized: no RTC in local TZ: no DST active: n/a Если результат отличается, укажите соответствующий местоположению сервера часовой пояс. Пример команды для московского часового пояса: .. code-block:: bash sudo timedatectl set-timezone Europe/Moscow .. _timesync: Установка сервиса синхронизации времени ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт только для **конфигурации Стандарт** Для корректной установки программы необходимо убедиться, что на всех серверах установлен сервис синхронизации времени. .. _fdqnset: Настройка имен хостов (FQDN) на серверах ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт только для **конфигурации Стандарт** Для корректной установки программы необходимо проверить, что имена хостов (FQDN) серверов могут взаимно получать IP по имени со всех машин. Имена хостов меняются согласно документации установленной ОС. .. _java_seventeen: Установка Java SE Development Kit 17.0.7 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: JДанный пункт только для **конфигурации Стандарт** Установка Java SE Development Kit 17.0.7 осуществляется согласно официальной документации: https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html .. _ssh_putty: Подключение к серверу через SSH-клиент PuTTY ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт только для **конфигурации Лайт** Настройку SSH-подключения к серверу можно выполнить, используя клиент удалённого доступа - `PuTTY `_. .. _ssh_key_create: Создание SSH-ключей ~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** .. attention:: В данном разделе описана генерация ключей: приватного и публичного. Приватный ключ использует Ansible для подключения по SSH при выполнении скриптов. Действия этого раздела необходимо выполнять под созданной учетной записью **datamart** (см. раздел :ref:`datamart_user`). Для переключения на учетную запись **datamart** выполните команду: .. code-block:: bash sudo su - datamart Для подключения Ansible к серверу по протоколу SSH необходимо создать SSH-ключи. Для аутентификации пользователя на сервере используются два ключа: - приватный; - публичный. Чтобы сгенерировать SSH-ключи для операционной системы Linux, выполните следующие действия: 1. Откройте терминал на компьютере и выполните команду: .. code-block:: bash ssh-keygen -t rsa Следует оставить все значения по умолчанию. .. note:: Если команда ``ssh-keygen`` не найдена, установите пакет ``openssh``. 1. После выполнения команды будет предложено указать имена файлов, в которые будут сохранены ключи и ввести пароль для закрытого ключа. По умолчанию используется имя ``id_rsa``, ключи будут созданы в директории ``~/.ssh``. Публичная часть ключа будет сохранена в файле с названием ``<имя_ключа>.pub``. 3. Будет выведено следующее сообщение: .. code-block:: bash Generating public/private rsa key pair. Enter file in which to save the key (/home/datamart/.ssh/id_rsa). 4. Нажмите клавишу **Enter**. После этого ключ будет сохранен в указанную директорию по умолчанию. Далее вам будет предложено ввести кодовое слово для дополнительной защиты ключа. Вы можете пропустить данный шаг и нажать **Enter**. 5. На запрос указать кодовое слово, не вводя его нажмите клавишу **Enter**. Процедура создания ключей завершена, ключи сохранены в директории ``~/.ssh/ `` в файлах ``id_rsa`` и ``id_rsa.pub``. .. _copy_ssh_key: Копирование SSH-ключей на сервер ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** .. attention:: В разделе описано добавление публичного ключа в список разрешенных, чтобы дать право Ansible на подключение. Действия этого раздела необходимо выполнять под созданной учетной записью **datamart** (см. раздел :ref:`datamart_user`). Для переключения на учетную запись **datamart** выполните команду: .. code-block:: bash sudo su - datamart Для копирования SSH-ключей в список разрешенных ключей выполните команды: .. code-block:: bash cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys .. _copy_lite_zip: Копирование архива программы ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** 1. Для загрузки на сервер файла с архивом программы используйте SFTP-клиент (например, WinSCP или Filezilla). Для авторизации используйте логин и пароль учетной записи администратора (**datamart**) созданной при установке ОС (см. раздел :numref:`datamart_user`). Загрузите файл с архивом программы в домашнюю директорию администратора ( ``~/`` ). 2. Подключитесь по SSH к серверу (см. раздел :ref:`ssh_connect`), используя логин и пароль учетной записи администратора. 3. Переместите файл с архивом программы в домашнюю директорию пользователя **datamart** командой: .. code-block:: bash mv ~/dtm-lite-1.17.4.tgz /home/datamart/ где, - ``dtm-lite-1.17.4.tgz`` - название архива программы. - ``datamart`` - имя пользователя. .. note:: Обратите внимание, что название и версия файла с архивом может отличаться в зависимости от версии программы. Распаковка архива ~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** .. attention:: Действия этого раздела необходимо выполнять под созданной учетной записью **datamart** (см. раздел :ref:`datamart_user`). Для переключения на учетную запись **datamart** выполните команду: .. code-block:: bash sudo su - datamart Чтобы распаковать архив, выполните команду: .. code-block:: bash tar -xzvf dtm-lite-1.17.4.tgz .. note:: Обратите внимание, что название и версия файла с архивом может отличаться в зависимости от версии программы. .. _install_docker: Установка Docker ~~~~~~~~~~~~~~~~ Установка Docker в РЕД ОС ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. attention:: Действия этого раздела необходимо выполнять под созданной учетной записью **datamart** (см. раздел :ref:`datamart_user`). Для переключения на учетную запись **datamart** выполните команду: .. code-block:: bash sudo su - datamart Для установки Docker выполните команду: .. code-block:: bash sudo yum install docker-ce Добавляем Docker в автозагрузку: .. code-block:: bash sudo systemctl enable docker Запускаем Docker: .. code-block:: bash sudo systemctl start docker Установка Docker в AltOS ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. attention:: Действия этого раздела необходимо выполнять под созданной учетной записью **datamart** (см. раздел :ref:`datamart_user`). Для переключения на учетную запись **datamart** выполните команду: .. code-block:: bash sudo su - datamart Установить docker можно следующей командой: .. code-block:: bash sudo apt-get install docker-ce Удалить сервис ``containerd``: .. code-block:: bash sudo rm -f /lib/systemd/system/containerd.service Затем необходимо запустить соответствующую службу: .. code-block:: bash sudo systemctl unmask docker sudo systemctl start docker .. _install_python_docker_py: Установка библиотеки python-docker-py ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** **Для РЕД ОС** Для установки библиотек ``python2-docker`` выполните следующую команду: .. code-block:: bash sudo yum install python2-docker **Для АЛЬТ ОС** .. attention:: В некоторых версиях "АЛЬТ Сервер 8 СП" (например, АЛЬТ Сервер 8.4 СП) в лицензионный диск с операционной системой не входят пакеты *python3-module-docker* и *python3-websocket-client*, поэтому они будут установлены из сертифицированного репозитория компании-разработчика операционной системы, для этого необходим доступ в Интернет! Для установки выполните следующую команду: .. code-block:: bash sudo apt-get install python3-module-docker .. _logging_setting_up: Настройка логирования в Docker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** **Для РЕД ОС** Настройка логирования в Docker осуществляется с помощью файла конфигурации. Путь к файлу конфигурации — ``/etc/docker/daemon.json``. Если этого файла не существует, его необходимо создать. Добавьте в файл следующие настройки логирования: .. code-block:: bash { "log-opts": { "max-file": "1", "max-size": "300m" } } где, - ``max-file`` - ограничение по количеству файлов (настройки ротации). Максимальное количество файлов журнала, которые могут быть созданы. Если при просмотре журналов создаются лишние файлы, самый старый файл удаляется. Действует только тогда, когда ``max-size`` (см. ниже) также установлен. Положительное целое число. По умолчанию ``1``. - ``max-size`` - устанавливает ограничение по размеру лог-файла (``k``, ``m`` или ``g``). По умолчанию - ``1`` (неограниченно). **Для АЛЬТ ОС** Выполните команду: .. code-block:: bash sudo sed -i 's/journald/json-file/' /etc/docker/daemon.json .. _restart_docker: Перезапуск Docker ~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** Для применения настроек, выполненных на предыдущем шаге необходимо перезапустите Docker. **Для РЕД ОС** Выполните команду: .. code-block:: bash sudo systemctl restart docker **Для АЛЬТ ОС** Выполните команду: .. code-block:: bash sudo systemctl restart docker .. _add_user_to_docker_group: Добавление пользователя в группу docker ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** Далее, нужно добавить пользователя **datamart** в группу ``docker``. Для этого подключитесь к серверу по SSH (например, через `Putty `_) и выполните команду: .. code-block:: bash sudo usermod -aG docker datamart .. attention:: Для применения настроек изменения группы выполните повторную авторизацию под пользователем **datamart**! .. _ansible_setting: Настройка Ansible ~~~~~~~~~~~~~~~~~ .. attention:: Данный пункт для **конфигурации Лайт** .. attention:: Действия этого раздела необходимо выполнять под созданной в учетной записью **datamart** (см. раздел :ref:`datamart_user`). Для переключения на учетную запись **datamart** выполните команду: .. code-block:: bash sudo su - datamart Для загрузки docker-образа выполните команду: .. code-block:: bash docker image load -i images/ansible-2.9-centos-7.tar Чтобы создать ``alias`` для вызова Ansible выполните команду: .. code-block:: bash echo "alias docker-ansible-cmd='docker run --rm -it -v $(pwd)/ansible:/ansible -v ~/.ssh/id_rsa:/root/.ssh/id_rsa --workdir=/ansible registry.gosuslugi.local/dtm-dev/ansible:2.9-centos-7 '" >> .bashrc . .bashrc Далее нужно перечитать конфигурационный файл, чтобы применить созданные ``alias``. для этого выполните команду: .. code-block:: bash source .bashrc Чтобы проверить установку Ansible в контейнере, выполните команду **Ansible**, позволяющую вывести номер версии: .. code-block:: bash docker-ansible-cmd ansible --version