J04.02. Реестры образов
Общая информация
Образ Docker — исполняемые пакеты программного обеспечения, способные автономно работать и дополненные конкретными предположениями о соответствующей среде исполнения. Образы используются для развертывания служб контейнеров. Образ контейнера с приложением предварительно собирается и размещается в реестре, после чего его можно использовать в поде. К примеру, образ содержит полный пакет среды операционной системы Ubuntu с установленным только Apache и несколькими приложениями. Реестр образов используется для хранения и распространения образов Docker.
В статье, как создавать и использовать секретные переменные для реестров образа.
Необходимые условия перед выполнением настроек
Перед выполнением настроек должны быть созданы:
- рабочее пространство,
- проект,
- пользователь project-regular.
Пользователь должен быть приглашен в проект и наделен ролью operator.
Создание секретной переменной
Когда создаете сервисы, задания или задания по расписанию, вы можете выбирать образы из своего личного реестра в дополнение к общедоступному. Чтобы использовать образы из личного реестра, создайте для него секретную переменную. Секретная переменная необходима для интеграции реестра в Cloud Managed Kubernetes.
Создание реестра образов состоит из следующих последовательных шагов:
1. Открытие дашборда.
2. Ввод основной информации.
3. Определение информации о реестре образов.
Шаг 1. Открытие дашборда
1. Войдите в веб-консоль как project-regular.
2. Перейдите в Configuration проекта, выберите Secrets и нажмите кнопку Create.
Шаг 2. Ввод основной информации
Задайте имя секретной переменной, например, demo-registry-secret и нажмите кнопку Next.
Шаг 3. Определение информации о реестре образов
Выберите Image registry information для Type. Чтобы использовать образы из личного реестра при создании рабочих нагрузок приложения, заполните следующие поля:
- Registry Address: адрес реестра образов, в котором хранятся используемые при создании рабочих нагрузок приложений образы.
- Username: имя учетной записи, которое вы используете для входа в реестр.
- Password: пароль, который вы используете для входа в реестр.
- Email (опционально): e-mail.
Добавление реестра Docker Hub
1. Перед добавлением реестра образов в Docker Hub убедитесь, что вам доступна учетная запись Docker Hub. На странице Secret Settings введите:
- docker.io в поле Secret Settings,
- идентификатор Docker,
- логин,
- пароль.
Щелкните кнопку Validate, чтобы проверить доступность адреса.
2. Щелкните кнопку Create.
Добавление реестра образов Harbour
Harbour — доверенный облачный проект реестра с открытым исходным кодом. Облачный проект хранит, подписывает и сканирует содержимое. Harbour расширяет дистрибутив Docker с открытым исходным кодом, добавляя такие функции, как безопасность, идентификация и управление. Harbour использует HTTP и HTTPS для обслуживания запросов реестра.
HTTP
1. Измените конфигурацию Docker для всех узлов в кластере. Например, если есть внешний реестр Harbour и его IP-адрес http://192.168.0.99, то добавьте поле --insecure-registry=192.168.0.99 в /etc/systemd/system/docker.service .d/докер-options.conf:
Environment="DOCKER_OPTS=--registry-mirror=https://registry.docker-cn.com --insecure-registry=10.233.0.0/18 --data-root=/var/lib/docker --log-opt max-size=50m --log-opt max-file=5 \
--insecure-registry=192.168.0.99"
2. Перезагрузите конфигурационный файл и перезапустите Docker по командам:
3. Вернитесь на страницу Data Settings и выберите Image registry information для Type. Введите свой IP- адрес Harbour, имя пользователя и пароль в Registry Address.
4. Щелкните кнопку Create. Секретная переменная отобразится в Secrets.
HTTPS
Информация об интеграции реестра Harbour на основе HTTPS представлена в документации Harbour.
Использование реестра образов
Когда устанавливаете образы, выбирайте частный реестр образов, если его секретная переменная создана заранее. Например, щелкните стрелку на странице Add Container, чтобы развернуть список реестра при создании развертывания. После выбора реестра образов введите имя образа и тег для использования образа.
Если используете YAML для создания рабочей нагрузки и необходимо использовать частный реестр изображений, то вручную добавьте kubesphere.io/imagepullsecrets в annotations локального файла YAML. Также введите пару ключ-значение в формате JSON, где:
key — имя контейнера,
value — имя секретной переменной.