Развертывание Harbor
Вы можете хранить контейнерные образы, управлять доступом к ним и проверять их на уязвимости с помощью сервиса Harbor в VK Cloud.
Сервис Harbor доступен из интернета по доменному имени с доверенным сертификатом либо только из внутренней сети по IP-адресу ВМ с самоподписанным сертификатом.
Инструкция поможет развернуть сервис Harbor на ВМ в VK Cloud и при необходимости настроить доверие к сертификату Harbor на компьютерах с Docker.
Используя сервис Harbor, вы соглашаетесь с лицензионными соглашениями Marketplace VK Cloud и Harbor.
Чтобы развернуть сервис Harbor в проекте VK Cloud:
-
Зарегистрируйтесь в VK Cloud и перейдите в личный кабинет.
-
Настройте сеть для ВМ Harbor:
- Создайте сеть с доступом в интернет, если это еще не сделано.
- В настройках подсети, где будет размещена ВМ Harbor, отключите опцию Приватный DNS.
-
Перейдите в раздел Магазин приложений и нажмите кнопку Все решения.
-
На карточке сервиса Harbor нажмите кнопку Подробнее, затем кнопку Подключить.
-
На шаге Параметры сервера укажите параметры:
- Зона доступности: выберите зону доступности, где будет запущена ВМ.
- Тип виртуальной машины: выберите предустановленную конфигурацию ВМ. Для тестирования и небольшой команды выберите шаблон с 4 ядрами и 16 ГБ оперативной памяти. Если образов много или их часто загружают и сканируют, выберите шаблон с 8 ядрами и 32 ГБ памяти.
- Сеть: выберите ранее созданную сеть с доступом в интернет и подсеть с отключенной опцией Приватный DNS.
- Размер диска данных: укажите нужный размер диска ВМ в гигабайтах. Для тестирования оставьте значение
100. Для рабочей нагрузки укажите суммарный объем образов, которые будете хранить, и добавьте запас. - Тип системного диска, Размер системного диска и Тип диска данных: оставьте значения по умолчанию.
-
Нажмите кнопку Следующий шаг.
-
На шаге Доступ укажите параметры:
- Домен, сертификат и публичный адрес: оставьте опцию включенной, если Harbor должен быть доступен из интернета — сервис получит доменное имя, доверенный сертификат и публичный IP-адрес. Если с Harbor будут работать только из внутренней сети, отключите опцию: адресом Harbor станет внутренний IP-адрес ВМ, а сертификат будет самоподписанным.
- Сеть клиентов: укажите значение
subnet, если компьютеры и серверы, которые работают с Harbor, находятся в той же подсети, что и ВМ с развернутым сервисом. Если они в другой подсети, укажите ее адрес, например10.0.2.0/24. Посмотреть адрес подсети можно в личном кабинете. Из указанной сети открыт доступ к ВМ с развернутым сервисом по SSH, а если опция Домен, сертификат и публичный адрес выключена — то и к Harbor.
-
Нажмите кнопку Следующий шаг.
-
Ознакомьтесь со стоимостью инфраструктуры для развертывания сервиса и нажмите кнопку Подключить тариф.
Начнется развертывание облачной инфраструктуры, и откроется страница свойств сервиса. Статус процесса будет отображаться также в разделе Магазин приложений → Мои сервисы.
Когда статус сменится на Активный, на почту, привязанную к вашему аккаунту в VK Cloud, придет письмо с одноразовой ссылкой на данные для доступа к сервису.
-
Перейдите по одноразовой ссылке из письма и сохраните данные для доступа к сервису:
productURL— адрес веб-интерфейса и реестра Harbor.harborAdminUser,harborAdminPassword— логин и пароль администратора Harbor.internalIP— внутренний IP-адрес ВМ, на котрой развернут сервис.externalIP— публичный IP-адрес ВМ с развернутым сервисом, если включена опция Домен, сертификат и публичный адрес.sshUser,sshKey— логин и закрытый ключ для подключения к ВМ по SSH.
-
Перейдите в веб-интерфейс сервиса по адресу из параметра
productURLиз письма.- Если опция Домен, сертификат и публичный адрес отключена, открывайте адрес с ВМ из сети клиентов и подтвердите переход на сайт, когда браузер предупредит о небезопасном сертификате.
- Укажите при входе логин
harborAdminUserи парольharborAdminPasswordиз письма.
Откроется список проектов Harbor с проектом
library. -
Настройте доверие к сертификату Harbor.
Если опция Домен, сертификат и публичный адрес отключена, настройте доверие к сертификату Harbor на каждой ВМ с Docker, откуда будете загружать и скачивать образы. Без этого команда
docker loginзавершится ошибкойx509: certificate signed by unknown authority.-
Выполните команды на ВМ с 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из письма. -
На запрос
docker loginвведите логинharborAdminUserи парольharborAdminPasswordиз письма.Ожидаемый ответ:
Login Succeeded.
-