VK Cloud logo

Развертывание Harbor

Вы можете хранить контейнерные образы, управлять доступом к ним и проверять их на уязвимости с помощью сервиса Harbor в VK Cloud.

Сервис Harbor доступен из интернета по доменному имени с доверенным сертификатом либо только из внутренней сети по IP-адресу ВМ с самоподписанным сертификатом.

Инструкция поможет развернуть сервис Harbor на ВМ в VK Cloud и при необходимости настроить доверие к сертификату Harbor на компьютерах с Docker.

Используя сервис Harbor, вы соглашаетесь с лицензионными соглашениями Marketplace VK Cloud и Harbor.

Чтобы развернуть сервис Harbor в проекте VK Cloud:

  1. Зарегистрируйтесь в VK Cloud и перейдите в личный кабинет.

  2. Настройте сеть для ВМ Harbor:

    1. Создайте сеть с доступом в интернет, если это еще не сделано.
    2. В настройках подсети, где будет размещена ВМ Harbor, отключите опцию Приватный DNS.
  3. Перейдите в раздел Магазин приложений и нажмите кнопку Все решения.

  4. На карточке сервиса Harbor нажмите кнопку Подробнее, затем кнопку Подключить.

  5. На шаге Параметры сервера укажите параметры:

    • Зона доступности: выберите зону доступности, где будет запущена ВМ.
    • Тип виртуальной машины: выберите предустановленную конфигурацию ВМ. Для тестирования и небольшой команды выберите шаблон с 4 ядрами и 16 ГБ оперативной памяти. Если образов много или их часто загружают и сканируют, выберите шаблон с 8 ядрами и 32 ГБ памяти.
    • Сеть: выберите ранее созданную сеть с доступом в интернет и подсеть с отключенной опцией Приватный DNS.
    • Размер диска данных: укажите нужный размер диска ВМ в гигабайтах. Для тестирования оставьте значение 100. Для рабочей нагрузки укажите суммарный объем образов, которые будете хранить, и добавьте запас.
    • Тип системного диска, Размер системного диска и Тип диска данных: оставьте значения по умолчанию.
  6. Нажмите кнопку Следующий шаг.

  7. На шаге Доступ укажите параметры:

    • Домен, сертификат и публичный адрес: оставьте опцию включенной, если Harbor должен быть доступен из интернета — сервис получит доменное имя, доверенный сертификат и публичный IP-адрес. Если с Harbor будут работать только из внутренней сети, отключите опцию: адресом Harbor станет внутренний IP-адрес ВМ, а сертификат будет самоподписанным.
    • Сеть клиентов: укажите значение subnet, если компьютеры и серверы, которые работают с Harbor, находятся в той же подсети, что и ВМ с развернутым сервисом. Если они в другой подсети, укажите ее адрес, например 10.0.2.0/24. Посмотреть адрес подсети можно в личном кабинете. Из указанной сети открыт доступ к ВМ с развернутым сервисом по SSH, а если опция Домен, сертификат и публичный адрес выключена — то и к Harbor.
  8. Нажмите кнопку Следующий шаг.

  9. Ознакомьтесь со стоимостью инфраструктуры для развертывания сервиса и нажмите кнопку Подключить тариф.

    Начнется развертывание облачной инфраструктуры, и откроется страница свойств сервиса. Статус процесса будет отображаться также в разделе Магазин приложений → Мои сервисы.

    Когда статус сменится на Активный, на почту, привязанную к вашему аккаунту в VK Cloud, придет письмо с одноразовой ссылкой на данные для доступа к сервису.

  10. Перейдите по одноразовой ссылке из письма и сохраните данные для доступа к сервису:

    • productURL — адрес веб-интерфейса и реестра Harbor.
    • harborAdminUser, harborAdminPassword — логин и пароль администратора Harbor.
    • internalIP — внутренний IP-адрес ВМ, на котрой развернут сервис.
    • externalIP — публичный IP-адрес ВМ с развернутым сервисом, если включена опция Домен, сертификат и публичный адрес.
    • sshUser, sshKey — логин и закрытый ключ для подключения к ВМ по SSH.
  11. Перейдите в веб-интерфейс сервиса по адресу из параметра productURL из письма.

    1. Если опция Домен, сертификат и публичный адрес отключена, открывайте адрес с ВМ из сети клиентов и подтвердите переход на сайт, когда браузер предупредит о небезопасном сертификате.
    2. Укажите при входе логин harborAdminUser и пароль harborAdminPassword из письма.

    Откроется список проектов Harbor с проектом library.

  12. Настройте доверие к сертификату Harbor.

    Если опция Домен, сертификат и публичный адрес отключена, настройте доверие к сертификату Harbor на каждой ВМ с Docker, откуда будете загружать и скачивать образы. Без этого команда docker login завершится ошибкой x509: certificate signed by unknown authority.

    1. Выполните команды на ВМ с Linux и Docker из сети клиентов:

      openssl s_client -connect <АДРЕС_HARBOR>:443 </dev/null 2>/dev/null \| openssl x509 > ca.crtsudo mkdir -p /etc/docker/certs.d/<АДРЕС_HARBOR>sudo cp ca.crt /etc/docker/certs.d/<АДРЕС_HARBOR>/ca.crtdocker login <АДРЕС_HARBOR>

      Здесь <АДРЕС_HARBOR> — значение параметра internalIP из письма.

    2. На запрос docker login введите логин harborAdminUser и пароль harborAdminPassword из письма.

      Ожидаемый ответ: Login Succeeded.

Была ли статья полезна?