h3llo.cloudДокументация

Container Registry

Приватный реестр Docker-образов и Helm-чартов — создание, логины, push и pull, подключение к Kubernetes.

Обновлено

Container Registry хранит Docker-образы и Helm-чарты (OCI) проекта. Адрес реестра — cr.h3llo.cloud.

Создание реестра

«Создать реестр» → «Новый реестр»:

  • Имя — 3–30 символов: строчные латинские буквы, цифры, дефис; имя library зарезервировано.
  • Объём — потолок занятого места: 10, 50 или 200 ГБ. Оплачивается фактически занятое место, а не потолок.
  • Размещение — «Общий».

Полный адрес реестра вида cr.h3llo.cloud/<префикс>-<имя> показан в консоли — используйте его в командах ниже.

Логины

Вкладка «Доступ» → «Логины для docker login и Kubernetes». Права:

  • Запись и чтение — для CI и разработчиков;
  • Только чтение — для кластеров и серверов.

До 20 логинов на реестр. Пароль показывается один раз; «Сменить пароль» выдаёт новый. Имя логина содержит символ $ — берите его в одинарные кавычки.

Push и pull

echo "$CR_PASSWORD" | docker login cr.h3llo.cloud -u '<логин>' --password-stdin

docker tag my-app:1.0 <адрес реестра>/my-app:1.0
docker push <адрес реестра>/my-app:1.0
docker pull <адрес реестра>/my-app:1.0

Helm-чарты:

helm registry login cr.h3llo.cloud -u '<логин>'
helm push my-chart-0.1.0.tgz oci://<адрес реестра>

GitLab CI

.gitlab-ci.yml
build:
  image: docker:27
  services: [docker:27-dind]
  script:
    - echo "$CR_PASSWORD" | docker login cr.h3llo.cloud -u "$CR_USER" --password-stdin
    - docker build -t "$CR_ADDRESS/my-app:$CI_COMMIT_SHORT_SHA" .
    - docker push "$CR_ADDRESS/my-app:$CI_COMMIT_SHORT_SHA"

CR_USER, CR_PASSWORD и CR_ADDRESS задайте в переменных CI/CD (пароль — как masked).

Kubernetes

В один клик. На карточке реестра — «Кластеры» → «Подключить к кластеру» (или «Реестры» на карточке кластера). Платформа создаст логин только для чтения, секрет h3-cr-<реестр> в выбранных namespace и добавит его в imagePullSecrets выбранных сервис-аккаунтов. Namespace и сервис-аккаунты должны уже существовать.

Вручную:

kubectl -n <namespace> create secret docker-registry h3-cr-<реестр> \
  --docker-server=cr.h3llo.cloud --docker-username='<логин>' --docker-password='<пароль>'
kubectl -n <namespace> patch serviceaccount default \
  -p '{"imagePullSecrets":[{"name":"h3-cr-<реестр>"}]}'

Настройки реестра

  • правила хранения тегов и неизменяемые теги;
  • сканирование образов на уязвимости при загрузке;
  • вебхуки (до 10 на реестр) на загрузку, удаление и сканирование.

Образы без тега тоже занимают место. При финансовой блокировке загрузка образов закрывается, скачивание работает.

Оплачиваются занятое место (после дедупликации слоёв) и исходящий трафик — см. тарифы.

Цены

Цены Container Registry и что входит в стоимость — в разделе Цены и тарификация.

На странице