1. Общие сведения о Компоненте

1.1. Обозначение и наименование программы

Полное наименование: «Компонент «Витрина данных» Единой системы межведомственного электронного взаимодействия».

Условное обозначение: Компонент «Витрина данных», Программа.

1.2. Назначение Компонента

Национальная система управления данными (далее – НСУД) представляет собой систему, состоящую из взаимосвязанных элементов информационно-технологического, организационного, методологического, кадрового и нормативно-правового характера и обеспечивающую достижение целей и выполнение задач, обозначенных в Концепции Национальной системы управления данными, утвержденной распоряжением Правительства Российской Федерации от 3 июня 2019 года № 1189-р.

НСУД предназначена для управления информацией, содержащейся в информационных системах органов и организаций государственного сектора, а также в информационных ресурсах, созданных в целях реализации полномочий органов и организаций государственного сектора (далее – государственные данные), и для осуществления информационного обмена между Поставщиками и Получателями данных, присоединившимися к НСУД (далее – Участники НСУД).

Управление процессами информационного обмена между Участниками НСУД осуществляется средствами федеральной государственной информационной системы «Единая информационная платформа Национальной системы управления данными» (далее – ФГИС «ЕИП НСУД»).

Для передачи данных между Участниками НСУД используется среда взаимодействия НСУД, состоящая из Системы межведомственного электронного взаимодействия 3.0 (далее – СМЭВ) и (или) подсистемы обеспечения доступа к данным СМЭВ (далее – СМЭВ4), обеспечивающих транспорт и процессинг данных, а также агентов СМЭВ4, устанавливаемых на стороне Участников НСУД.

Для формирования и (или) получения данных с использованием среды взаимодействия НСУД необходим комплекс программных и технических средств в составе информационно-телекоммуникационной инфраструктуры участника НСУД. Настоящий документ описывает применение Компонента «Витрина данных».

Компонент «Витрина данных» является частью НСУД и предназначен для загрузки публикуемых данных в отдельную БД на стороне Поставщика данных. Компонент представляет собой типовое программное обеспечение, устанавливаемое на стороне поставщиков/потребителей данных.

1.3. Возможности Компонента

В настоящий момент реализовано две конфигурации Компонента:

  • Стандарт;

  • Лайт.

Компонент обеспечивает выполнение следующих задач:

  • описание логической модели данных;

  • настройка Компонента и структуры таблиц в ее БД для хранения публикуемых данных;

  • загрузка и хранение публикуемых данных в БД Компонента;

  • персистентность данных модулей Компонента;

  • извлечение данных из внешних систем (внешних ИС по отношению к Витрине данных);

  • выполнение запросов в соответствии с протоколом СМЭВ4 через механизмы СМЭВ4:

    • поддержка протокола коммуникации Агента СМЭВ4;

    • генерация формируемых документов на основании публикуемых данных.

  • обмен в соответствии с протоколом СМЭВ3:

    • подключение к СМЭВ3 как информационной системы участника взаимодействия;

    • обработку запросов на предоставление публикуемых данных (видов сведений), в т.ч. BLOB-объектов;

    • инициативная рассылка оповещений об обновлении публикуемых данных.

  • публикация конечных точек API для обработки запросов с использованием спецификации OpenAPI версии 3;

  • предоставление публикуемых данных информационным системам с использованием интерфейса REST-запросов;

  • восстановление данных в непротиворечивое состояние после сбоев;

  • поддержка языка SQL;

  • журналирование событий функциональных блоков;

  • мониторинг информации о работоспособности экземпляра Компонента.

Компонент обеспечивает выполнение следующих задач:

  • автоматическая настройка взаимосвязей между модулями Компонента;

  • автоматический запуск всех необходимых модулей Компонента после установки;

  • автоматическая настройка витрины и структуры ее таблиц на основании содержимого XML-файла, загружаемого через пользовательский веб-интерфейс;

  • выгрузка шаблона через графический интерфейс (для упрощения процесса подготовки загружаемых данных);

  • загрузка данных на витрину данных:

  • через графический интерфейс;

  • REST API;

  • файловый обмен.

  • настройка параметров работы витрины через графический интерфейс;

  • выполнение запросов на предоставление данных в соответствии с протоколом СМЭВ4 через механизмы СМЭВ4.

1.4. Операционная система

Операционная система устанавливается на сервер, где будет развернута программа.

Компонент может функционировать под одной из следующих операционных систем:

  • РЕД ОС версии 7.2 (далее - РЕД ОС);

  • АЛЬТ Сервер 8 СП (далее - АЛЬТ ОС);

  • Astra Linux 1.7 (уровень защищенности «Воронеж»).

1.5. Рекомендуемые технические и программные средства

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

Примечание

Установите программу с приведенными ниже рекомендациями на тестовом стенде для того чтобы определить оптимальную конфигурацию для ваших сценариев работы. Рекомендация основана на использовании программы в режиме стандартной рабочей нагрузки на тестовом стенде (Раздел 8).

Рекомендованные требования к серверному оборудованию конфигурации «Стандарт» приведены в Таблица 1.8.

Таблица 1.8 Требования к серверному оборудованию конфигурации Стандарт

Сервер

Назначение

CPU

RAM, ГБ

HDD

Количество

Prostore

Сервис исполнения запросов

4

16

20

1

BLOB- адаптер

Получение доступа из Витрины данных

4

16

50

2

Сервис формирования документов

Обеспечение возможности формирования документов, в формате XML и PDF, на основе предварительно подготовленных pebble-шаблонов,

с возможностью добавления к сформированным документам электронной подписи

2

8

50

2

СМЭВ QL Сервер

Язык запросов данных Системы межведомственного электронного взаимодействия

4

8

50

1

СМЭВ3-адаптер

Информационное взаимодействие через единый электронный сервис единой системы межведомственного электронного взаимодействия

4

8

50

1

Стандартный загрузчик

Управление данными (загрузка и / или удаление) в Витрине данных

4

8

50

1

CSV-Uploader

Загрузка CSV-файлов на Витрину данных

4

8

50

1

Data-Uploader

Обеспечение обработки очереди файлов

4

8

50

1

REST-Uploader

Асинхронная загрузка данных из сторонних источников

4

8

50

1

Counter-provider

Генерация уникального номера файлов в сервисе формирования документов

2

4

50

1

DTM-Uploader

Модуль загрузки/ удаления данных

4

8

50

1

Check-адаптер

Контроль качества данных, размещённых в Компоненте «Витрина данных»

4

8

20

1

Мониторинг и администрирование

(установка опциональна)

Grafana

32

32

1000

3

Prometheus

Graylog

МongoDB

Elasticsearch (master)

Elasticsearch (data)

Filebeat

Node Exporter

Рекомендованные требования к серверному оборудованию Лайт приведены в Таблица 1.9.

Таблица 1.9 Требования к серверному оборудованию

Требования

Минимальные

Рекомендуемые

Процессор (CPU)

4 ядра

10 ядер

Оперативная память (RAM)

16 Гб

128 Гб

Жесткий диск (HDD)

100 Гб

500 Гб

Рекомендованные требования к программному обеспечению конфигурации Стандарт приведены в Таблица 1.10.

Таблица 1.10 Минимальный состав программных средств конфигурации Стандарт

Название

Описание

Версия

Операционная система (выбор опционален)

РЕД ОС

АЛЬТ Сервер 8 СП

Astra Linux 1.7 (уровень защищенности «Воронеж»)

7.2

8

1.7

Docker

Программное обеспечение для автоматизации развертывания и управления приложениями

20.10.2

Java SE 17

Среда разработки для создания приложений с использованием языка программирования Java

17.0.7

Рекомендованные требования к программному обеспечению конфигурации Лайт приведены в Таблица 1.11.

Таблица 1.11 Минимальный состав программных средств конфигурации лайт

Название

Описание

Версия

Операционная система (выбор опционален)

РЕД ОС

АЛЬТ Сервер 8 СП

Astra Linux 1.7 (уровень защищенности «Воронеж»)

7.2

8

1.7

Docker

Программное обеспечение для автоматизации развертывания и управления приложениями

20.10.2

1.5.1. Требования к серверу Prostore

Аппаратные и системные требования к Prostore подробно приведены в разделе Минимальные системные требования документации Prostore.

1.5.2. Требования к серверу «СМЭВ3-адаптер»

  1. На серверах должен быть настроен протокол NTP;

  2. Снаружи сервер должен быть доступен по порту 22 (SSH);

  3. Необходим сетевой доступ до серверов СМЭВ3 (S3, FTP, SOAP). Например, если используется адрес http://smev3-n0.test.gosuslugi.ru:5000/transport_1_0_2/, необходимо организовать к нему доступ.

  4. Если формирование и проверка подписей выполняется адаптером СМЭВ3, то на используемый им JRE должен быть установлен КриптоПро JCP 2.0.41940-A. (Так же есть альтернатива использования адаптера ИУА).

  5. Необходимо так же подготовить ключи (контейнер) для КриптоПро и лицензию на JCP. В случае отсутствия лицензии будет использоваться пробная лицензия.

  6. Если для оформления цифровой подписи используется VipNet PKI необходимо обеспечить сетевой доступ до его сервера.

1.5.3. Требования к серверам модулей Компонента

  1. На серверах должен быть настроен протокол NTP.

1.6. Модули программы

Состав Модулей дистрибутива программы приведен в разделе Состав модулей в дистрибутиве документа «Техническое описание программы Компонент «Витрина данных».

2. Подготовка к установке

2.1. Предварительные действия

Примечание

Установка Программы производится в закрытом контуре (без необходимости доступа к сети Интернет).

  1. Установить на серверы одну из поддерживаемых операционных систем (см. раздел Установка операционной системы).

  2. Проверить настройки Firewall и отключить при необходимости (см. раздел Настройка межсетевого экрана).

  3. Выключить SELinux (см. раздел Отключение SELinux (только для РЕД ОС) (только для РЕД ОС)).

  4. Указать соответствующий местоположению сервера часовой пояс (см. раздел Выбор часового пояса).

  5. Проверить, что на всех серверах установлен сервис синхронизации времени (см. раздел Установка сервиса синхронизации времени).

  6. Проверить, что имена хостов (FQDN) серверов могут получать IP по имени со всех машин (см. раздел Настройка имен хостов (FQDN) на серверах);

  7. Установить/обновить Java SE Development Kit 17.0.7 (см. раздел Установка Java SE Development Kit 17.0.7)

Дополнительно устанавливаются:

  1. Установить на серверы одну из поддерживаемых операционных систем (см. раздел Установка операционной системы).

  2. Создать пользователя datamart с правами sudo (см. раздел Создание пользователя datamart).

  3. Проверить настройки Firewall и отключить при необходимости (см. раздел Настройка межсетевого экрана).

  4. Выключить SELinux (см. раздел Отключение SELinux (только для РЕД ОС) (только для РЕД ОС)).

  5. Указать соответствующий местоположению сервера часовой пояс (см. раздел Выбор часового пояса).

  6. Настроить SSH-подключение к серверу, на котором планируется установка (см. раздел Подключение к серверу через SSH-клиент PuTTY).

  7. Создать приватный и публичный SSH-ключи для пользователя datamart (см. раздел Создание SSH-ключей).

  8. Скопировать публичный ключ на сервер (см. раздел Копирование SSH-ключей на сервер).

  9. Скопировать архив программы (см. раздел Копирование архива программы).

  10. Установить Docker (см. раздел Установка Docker).

  11. Установить библиотеку python-docker-py (см. раздел Установка библиотеки python-docker-py).

  12. Настроить логирование (см. раздел Настройка логирования в Docker).

  13. Перезапустить Docker (см. раздел Перезапуск Docker).

  14. Добавить пользователя datamart в группу docker (см. раздел Добавление пользователя в группу Docker).

  15. Настроить Ansible (см. раздел Настройка Ansible).

2.1.1. Установка операционной системы

Компонент может работать на одной из операционных систем:

  • 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/.

Примечание

Для 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»

2.1.2. Создание пользователя datamart

Примечание

Данный пункт только для конфигурации Лайт

Для установки программы конфигурации Лайт рекомендуется создать отдельного пользователя, для этого следует выполнить следующие действия:

  • создать пользователя datamart;

  • отключить для пользователя пароль при вызове sudo (необходимо для автоматической установки);

  • добавление пользователя в группу администраторов sudo.

2.1.2.1. Создание пользователя

Чтобы создать пользователя datamart и установить для него пароль, выполните команды:

sudo useradd datamart
sudo password for user:
sudo passwd datamart
sudo password for user:
Changing password for user datamart.
New password:
Retype new password:

После успешных действий система выведет сообщение:

passwd: all authentication tokens updated successfully.

2.1.2.2. Отключение пароля

Чтобы отключить пароль sudo для пользователя datamart, надо добавить в настройки (пользователя или группы) директиву NOPASSWD. Для этого последовательно выполните команду:

sudo visudo

В открывшемся конфигурационном файле, с помощью команд редактора vim:

Для Astra Linux Special Edition 1.7

Отредактируйте следующие записи:

datamart ALL=(ALL) NOPASSWD: ALL

Для запуска sudo без пароля выполните:

astra-sudo-control disable

Для РЕД ОС

Отредактируйте следующие записи:

datamart ALL=(ALL) NOPASSWD: ALL

Для АЛЬТ ОС

Отредактируйте следующие записи:

# uncomment line
WHEEL_USERS ALL=(ALL) NOPASSWD: ALL

Сохраните изменения и закройте файл.

2.1.2.3. Добавление пользователя в группу администраторов

Чтобы добавить пользователя в группу администраторов, у которых есть права выполнения команды sudo, выполните следующую команду:

sudo usermod -aG wheel datamart

Чтобы добавить пользователя в группу администраторов в Astra Linux Special Edition 1.7 выполните следующую команду:

sudo usermod -aG astra-admin datamart

Для проверки вы можете переключиться в учетную запись datamart и вывести список содержимого директории /root, которое обычно доступно только для пользователя root user:

su -datamart
Password:
sudo ls -la /root

2.1.3. Настройка межсетевого экрана

2.1.3.1. Для РЕД ОС

Для корректной установки потребуется отключить службу FirewallD операционной системы РЕД ОС.

Что просмотреть текущий статус работы приложения используйте команду firewall-cmd:

sudo firewall-cmd --state

В случае если служба FirewallD запущена, команда выше выведет следующее сообщение:

running

Вы можете временно остановить службу FirewallD для этого выполните следующую команду:

sudo systemctl stop firewalld

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

Чтобы отключить автоматический запуск службы FirewallD при загрузке операционной системы выполните команду:

sudo systemctl disable firewalld

После отключения проверьте, что статус службы изменился на not running, для этого выполните команду:

sudo firewall-cmd --state
not running

2.1.3.2. Для AltOS

По умолчанию выключен. Никаких действий не требуется.

2.1.4. Отключение SELinux (только для РЕД ОС)

Для корректной установки РЕД ОС необходимо отключить SELinux, для этого выполните следующие действия:

  1. Проверьте параметры запуска SELinux при загрузке системы с помощью команды:

cat /etc/selinux/config

2. Если параметр SELINUX имеет значение enforcing, отключите запуск SELinux при загрузке системы. Для этого в файле /etc/selinux/config укажите значение SELINUX=disabled и перезагрузите сервер. SELinux будет отключен.

Открыть и отредактировать файл /etc/selinux/config можно с помощью редактора Vim, для этого выполните команду:

sudo vi /etc/selinux/config
  1. Проверьте, что служба отключена. Для этого выполните команду:

sestatus

В ответ вы должны получить

SELinux status: disabled

2.1.5. Выбор часового пояса

Проверьте, что установлен нужный часовой пояс. В нашем случае, на команду timedatectl, должна выводиться строка Time zone: Europe/Moscow (MSK, +0300).

Пример команды:

timedatectl

Пример ответа:

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

Если результат отличается, укажите соответствующий местоположению сервера часовой пояс.

Пример команды для московского часового пояса:

sudo timedatectl set-timezone Europe/Moscow

2.1.6. Установка сервиса синхронизации времени

Примечание

Данный пункт только для конфигурации Стандарт

Для корректной установки программы необходимо убедиться, что на всех серверах установлен сервис синхронизации времени.

2.1.7. Настройка имен хостов (FQDN) на серверах

Примечание

Данный пункт только для конфигурации Стандарт

Для корректной установки программы необходимо проверить, что имена хостов (FQDN) серверов могут взаимно получать IP по имени со всех машин. Имена хостов меняются согласно документации установленной ОС.

2.1.8. Установка Java SE Development Kit 17.0.7

Примечание

Данный пункт только для конфигурации Стандарт

Установка Java SE Development Kit 17.0.7 осуществляется согласно официальной документации: https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

2.1.9. Подключение к серверу через SSH-клиент PuTTY

Примечание

Данный пункт только для конфигурации Лайт

Настройку SSH-подключения к серверу можно выполнить, используя клиент удаленного доступа - PuTTY.

2.1.10. Создание SSH-ключей

Примечание

Данный пункт для конфигурации Лайт

Примечание

В данном разделе описана генерация ключей: приватного и публичного. Приватный ключ использует Ansible для подключения по SSH при выполнении скриптов. Действия этого раздела необходимо выполнять под созданной учетной записью datamart (см. раздел Создание пользователя datamart).

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

sudo su - datamart

Для подключения Ansible к серверу по протоколу SSH необходимо создать SSH-ключи.

Для аутентификации пользователя на сервере используются два ключа:

  • приватный;

  • публичный.

Чтобы сгенерировать SSH-ключи для операционной системы Linux, выполните следующие действия:

  1. Выполните команду:

ssh-keygen -t rsa

Следует оставить все значения по умолчанию.

Примечание

Если команда ssh-keygen не найдена, установите пакет openssh.

  1. После выполнения команды будет предложено указать имена файлов, в которые будут сохранены ключи и ввести пароль для закрытого ключа. По умолчанию используется имя id_rsa, ключи будут созданы в директории ~/.ssh.

Публичная часть ключа будет сохранена в файле с названием <имя_ключа>.pub.

  1. Будет выведено следующее сообщение:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/datamart/.ssh/id_rsa).
  1. Нажмите Enter. После этого ключ будет сохранен в указанную директорию по умолчанию. Далее вам будет предложено ввести кодовое слово для дополнительной защиты ключа. Вы можете пропустить данный шаг и нажать Enter.

  2. На запрос указать кодовое слово, не вводя его нажмите Enter.

Процедура создания ключей завершена, ключи сохранены в директории ~/.ssh/ `` в файлах ``id_rsa и id_rsa.pub.

2.1.11. Копирование SSH-ключей на сервер

Примечание

Данный пункт для конфигурации Лайт

Примечание

В разделе описано добавление публичного ключа в список разрешенных, чтобы дать права Ansible на подключение. Действия этого раздела необходимо выполнять под созданной учетной записью datamart (см. раздел Создание пользователя datamart).

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

sudo su - datamart

Для копирования SSH-ключей в список разрешенных ключей выполните команды:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

2.1.12. Копирование архива программы

Примечание

Данный пункт для конфигурации Лайт

  1. Для загрузки на сервер файла с архивом программы используйте SFTP-клиент (например, WinSCP или Filezilla). Для авторизации используйте логин и пароль учетной записи администратора (datamart) созданной при установке ОС (см. Раздел 2.1.2). Загрузите файл с архивом программы в домашнюю директорию администратора ( ~/ ).

  2. Подключитесь по SSH к серверу (см. ssh_connect), используя логин и пароль учетной записи администратора.

  3. Переместите файл с архивом программы в домашнюю директорию пользователя datamart командой:

mv ~/dtm-lite-2.6.0.tgz /home/datamart/

где,

  • dtm-lite-2.6.0.tgz - название архива программы.

  • datamart - имя пользователя.

Примечание

Обратите внимание, что название и версия файла с архивом может отличаться в зависимости от версии программы.

2.1.13. Распаковка архива

Примечание

Данный пункт для конфигурации Лайт

Примечание

Действия этого раздела необходимо выполнять под созданной учетной записью datamart (см. раздел Создание пользователя datamart).

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

sudo su - datamart

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

tar -xzvf dtm-lite-2.6.0.tgz

Примечание

Обратите внимание, что название и версия файла с архивом может отличаться в зависимости от версии программы.

2.1.14. Установка Docker

2.1.14.1. Установка Docker в РЕД ОС

Примечание

Действия этого раздела необходимо выполнять под созданной учетной записью datamart (см. раздел Создание пользователя datamart).

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

sudo su - datamart

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

sudo yum install docker-ce

Добавляем Docker в автозагрузку:

sudo systemctl enable docker

Запускаем Docker:

sudo systemctl start docker

2.1.14.2. Установка Docker в AltOS

Примечание

Действия этого раздела необходимо выполнять под созданной учетной записью datamart (см. раздел Создание пользователя datamart).

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

sudo su - datamart

Установить docker можно следующей командой:

sudo apt-get install docker-ce

Удалить сервис containerd:

sudo rm -f /lib/systemd/system/containerd.service

Затем необходимо запустить соответствующую службу:

sudo systemctl unmask docker
sudo systemctl start docker

2.1.15. Установка библиотеки python-docker-py

Примечание

Данный пункт для конфигурации Лайт

Для РЕД ОС

Для установки библиотек python2-docker выполните следующую команду:

sudo yum install python2-docker

Для АЛЬТ ОС

Примечание

В некоторых версиях «АЛЬТ Сервер 8 СП» (например, АЛЬТ Сервер 8.4 СП) в лицензионный диск с операционной системой не входят пакеты python3-module-docker и python3-websocket-client, поэтому они будут установлены из сертифицированного репозитория компании-разработчика операционной системы, для этого необходим доступ в Интернет!

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

sudo /usr/bin/python3 -m pip install docker

2.1.16. Настройка логирования в Docker

Примечание

Данный пункт для конфигурации Лайт

Для РЕД ОС

Настройка логирования в Docker осуществляется с помощью файла конфигурации. Путь к файлу конфигурации: /etc/docker/daemon.json. Если этого файла не существует, его необходимо создать.

Добавьте в файл следующие настройки логирования:

{
  "log-opts": {
    "max-file": "1",
    "max-size": "300m"
  }
}

где,

  • max-file - ограничение по количеству файлов (настройки ротации). Максимальное количество файлов журнала, которые могут быть созданы. Если при просмотре журналов создаются лишние файлы, самый старый файл удаляется. Действует только тогда, когда max-size (см. ниже) также установлен. Положительное целое число. По умолчанию 1.

  • max-size - устанавливает ограничение по размеру лог-файла (k, m или g). По умолчанию - 1 (неограниченно).

Для АЛЬТ ОС

Выполните команду:

sudo sed -i 's/journald/json-file/' /etc/docker/daemon.json

2.1.17. Перезапуск Docker

Примечание

Данный пункт для конфигурации Лайт

Для применения настроек, выполненных на предыдущем шаге необходимо перезапустите Docker.

Для РЕД ОС

Выполните команду:

sudo systemctl restart docker

Для АЛЬТ ОС

Выполните команду:

sudo systemctl restart docker

2.1.18. Добавление пользователя в группу Docker

Примечание

Данный пункт для конфигурации Лайт

Далее, нужно добавить пользователя datamart в группу docker. Для этого подключитесь к серверу по SSH (например, через Putty) и выполните команду:

sudo usermod -aG docker datamart

Примечание

Для применения настроек изменения группы выполните повторную авторизацию под пользователем datamart!

2.1.19. Настройка Ansible

Примечание

Данный пункт для конфигурации Лайт

Примечание

Действия этого раздела необходимо выполнять под созданной в учетной записью datamart (см. раздел Создание пользователя datamart).

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

sudo su - datamart

Для загрузки docker-образа выполните команду:

docker image load -i images/ansible-2.9-centos-7.tar

Чтобы создать alias для вызова Ansible выполните команду:

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

Данная команда создает более удобную команду для работы с Ansible docker-ansible-cmd, котороая состоит из следующих частей:

  • echo "..." >> .bashrc - добавляет содержимое внутри кавычек в файл .bashrc.

  • . .bashrc или source .bashrc - выполняет команды из .bashrc.

  • 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 - создаёт и запускает новый контейнер из образа registry.gosuslugi.local/dtm-dev/ansible:2.9-centos-7. Далее, если добавить после имени образа команду, выполняет её внутри контейнера.

Используемые опции:

  • --rm - удаляет контейнер автоматически после завершения работы;

  • -v $(pwd)/ansible:/ansible - монтирует внутрь контейнера каталог ansible из текущей директории;

  • -v ~/.ssh/id_rsa:/root/.ssh/id_rsa - монтирует внутрь контейнера SSH-ключ;

  • --workdir=/ansible - запускает команды из каталога /ansible внутри контейнера.

Далее нужно перечитать конфигурационный файл, чтобы применить созданные alias, для этого выполните команду:

source .bashrc

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

docker-ansible-cmd ansible --version