J04.02. Реестры образов

Редактировал(а) Ирина Сафонова 06.01.2024, 23:10

Общая информация


Образ Docker — исполняемые пакеты программного обеспечения, способные автономно работать и дополненные конкретными предположениями о соответствующей среде исполнения. Образы используются для развертывания служб контейнеров. Образ контейнера с приложением предварительно собирается и размещается в реестре, после чего его можно использовать в поде. К примеру, образ содержит полный пакет среды операционной системы Ubuntu с установленным только Apache и несколькими приложениями. Реестр образов используется для хранения и распространения образов Docker

В статье, как создавать и использовать секретные переменные для реестров образа.

Необходимые условия перед выполнением настроек


 Перед выполнением настроек должны быть созданы:

Пользователь должен быть приглашен в проект и наделен ролью operator.

Создание секретной переменной


Когда создаете сервисы, задания или задания по расписанию, вы можете выбирать образы из своего личного реестра в дополнение к общедоступному. Чтобы использовать образы из личного реестра, создайте для него секретную переменную. Секретная переменная необходима для интеграции реестра в Cloud Managed Kubernetes.

Создание реестра образов состоит из следующих последовательных шагов:
1. Открытие дашборда.
2. Ввод основной информации.
3. Определение информации о реестре образов.

Шаг 1. Открытие дашборда

1. Войдите в веб-консоль как project-regular.
2. Перейдите в Configuration проекта, выберите Secrets и нажмите кнопку Create.

Шаг 2. Ввод основной информации

Задайте имя секретной переменной, например, demo-registry-secret и нажмите кнопку Next.

Чтобы увидеть файл манифеста в формате YAML, нажмите кнопку Edit YAML в правом верхнем углу. Cloud Managed Kubernetes позволяет редактировать файл манифеста для создания секретной переменной.

Шаг 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.

В результате секретная переменная отображается на странице Secrets.

Добавление реестра образов 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:

[Service]

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"
  • Замените адрес реестра образа своим собственным адресом реестра
  • Environmentпредставляет параметры dockerd
  • --insecure-registryнеобходим даемону Docker для связи с незащищенным реестром.

2. Перезагрузите конфигурационный файл и перезапустите Docker по командам:

sudo systemctl daemon-reload
sudo systemctl restart docker

3. Вернитесь на страницу Data Settings и выберите Image registry information для Type. Введите свой IP- адрес Harbour, имя пользователя и пароль в Registry Address.

Если хотите использовать доменное имя вместо IP-адреса с Harbour, настройте CoreDNS и nodelocaldns в кластере.

4. Щелкните кнопку Create. Секретная переменная отобразится в Secrets.

В результате секретная переменная отображается на странице Secrets.

HTTPS

Информация об интеграции реестра Harbour на основе HTTPS представлена в документации Harbour.

Убедитесь, что используете docker login для подключения к реестру Harbour.

Использование реестра образов


Когда устанавливаете образы, выбирайте частный реестр образов, если его секретная переменная создана заранее. Например, щелкните стрелку на странице Add Container, чтобы развернуть список реестра при создании развертывания. После выбора реестра образов введите имя образа и тег для использования образа.

Если используете YAML для создания рабочей нагрузки и необходимо использовать частный реестр изображений, то вручную добавьте kubesphere.io/imagepullsecrets в annotations локального файла YAML. Также введите пару ключ-значение в формате JSON, где:

 key — имя контейнера,

 value — имя секретной переменной.

Пример использования реестра образов

kubesphere-ecosystem

В начало 🡱
К следующему разделу 🡲
К предыдущему разделу 🡰