Создание и синхронизация приватного репозитория Боцман
Введение
Когда используется создание внутреннего репозитория:
-
Организация внутреннего защищенного хранилища компонентов платформы “Боцман” для последующей установки “Боцман” в закрытом контуре без доступа к сети Интернет.
-
Организация локального защищенного хранилища компонентов платформы “Боцман” при нестабильном подключении к сети Интернет.
-
По причине внутренних правил и политик информационной безопасности.
-
Для ускорения процесса установки платформы “Боцман”.
В примере используется легковесный docker registry (https://hub.docker.com/_/registry)
Заметка
Если вы планируете использовать уже существующий registry на базе harbor, artifactory или иных продуктов, пожалуйста, обратитесь к их официальной документации по их настройке.
Технические требования
При планировании о размещении Registry следует учитывать:
- Приватный Registry должен иметь доступ до Registry платформы "Боцман" для синхронизации образов.
Варианты исполнения:- Registry имеет постоянный доступ до публичного Registry платформы "Боцман"
- Registry имеет постоянный доступ через Прокси до публичного Registry платформы "Боцман"
- Registry имеет доступ до публичного Registry платформы "Боцман" в определенные часы синхронизации
- Registry не имеет доступа до публичного Registry платформы "Боцман". Перенос осуществляется через отчуждаемые носители.
Предварительно все пакеты должны быть размещены на отчуждаемом носители на устройстве с доступом к сети Интернет.
- До Registry должны иметь доступ все будущие узлы кластера и АРМ администратора. Доступ должен быть постоянный.
Описание параметров
| Имя параметра | Описание |
|---|---|
| OS | Astra Linux, RED OS, Ubuntu |
| vCPU | 2 |
| RAM | 8GB |
| DISK SPACE OS | Не менее 30GB |
| DISK SPACE DATA | Не менее 100GB |
| Networking | Не менее 300Мb/s для доступа с серверов куда будет устанавливаться "Боцман" |
Шаг 1. Настройка SSL сертификатов
Пример использования самоподписанных сертификатов
Выполните команду создания директории /data/certs на хосте, выделенном под роль registry:
Выполните команду перехода в директорию /data/certs:
Выполните команду генерации приватного ключа:
Выполните создание конфигурационного файла san.cnf выпуска сертификата
Пример:
[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = RU
stateOrProvinceName = N/A
localityName = N/A
organizationName = Self-signed certificate
commonName = REGISTRY_DOMAIN_NAME (1)
[req_ext]
subjectAltName = @alt_names
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.0 = REGISTRY_DOMAIN_NAME (2)
IP.1 = REGISTRY_IP_ADDRESS (3)
- Доменное имя вашего registry
- Доменное имя вашего registry
ip адресхоста с рольюregistry, который будет доступен с АРМ
Выполните команду генерации сертификата:
Результатом выполнения команды должен стать файл: registry.crt
Выполните команду запуска registry с поддержкой терминирования TLS соединений (https):
docker run -d -p 443:5000 --name registry-tls -v /data/certs:/certs -v /data/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt -e REGISTRY_HTTP_TLS_KEY=/certs/registry.key registry:2.8.3
Шаг 2. Добавление на АРМ сертификата в список доверенных
Выполните команду создания каталога на хосте с ролью АРМ:
Выполните команду, чтобы поместить содержимое файла registry.crt с хоста registry в файл:
Выполните команду аутентификации на АРМ в новом докере registry:
Результатом выполнения команды должна стать строка:
Login Succeeded
Шаг 3. Копирование с помощью bootsmanctl
Объем данных docker-образов
Объем скачиваемых данных составляет около 20Gi
Используйте bootsmanctl для получения копии образов в ваше хранилище образов
- Url вашего хранилище образов.
Например: registry:8080/bootsman-images
- Имя пользователя для вашего хранилища.
Нужны права на запись
- Пароль пользователя
- Версия образов Bootsman
Ошибки передачи данных
В случае появления ошибок передачи, повторите процедуру копирования.