Harbor – это реестр образов Docker с открытым исходным кодом для облачных нативных сред. Будучи реестром образов, harbor используется для хранения и распространения образов контейнеров. Для обеспечения безопасности артефактов Harbor предоставляет защиту с помощью политик, контроль доступа на основе ролей пользователей, сканер безопасности для образов, гарантирующий отсутствие в них уязвимостей, и подпись образов, которая гарантирует, что пользователи получают образы из доверенного реестра. Harbor – это проект выпускников CNCF и реестр образов корпоративного уровня. В этом руководстве я покажу, как установить Harbor Image Registry с помощью Docker на сервер Ubuntu 22.04. Это руководство включает в себя установку Docker CE, базовую установку Harbor с включенным SSL, а также базовое использование и администрирование Harbor в качестве реестра образов.
Установка Docker CE (Community Edition)
Реестр образов harbor предоставляет несколько версий, которые могут быть установлены на различные типы сред. Вы можете развернуть harbor в Kubernetes с помощью диаграммы Helm или установить harbor с помощью Docker. В данном примере вы установите harbor с помощью движка Docker. Итак, сейчас вы установите Docker CE (Community Edition) на ваш сервер Ubuntu через официальный репозиторий Docker. Выполните команду apt ниже для установки некоторых основных зависимостей.
sudo apt install ca-certificates curl gnupg lsb-release
Введите y, когда появится запрос на подтверждение. После установки зависимостей выполните следующую команду для загрузки GPG-ключа для репозитория Docker, а затем добавьте официальный репозиторий Docker в свою систему.
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Теперь обновите индекс пакетов с помощью команды apt, приведенной ниже.
sudo apt update
Вы получите сообщение о том, что репозиторий Docker CE добавлен. Далее с помощью следующей команды apt установите Docker CE и Docker Compose на вашу систему.
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Введите y для подтверждения установки, затем нажмите ENTER для продолжения.
После установки Docker выполните следующую команду systemctl для проверки текущего состояния службы Docker.
sudo systemctl is-enabled dockersudo systemctl status docker
Вы должны получить результат, как показано на следующем снимке экрана – служба Docker запущена и включена. Служба Docker будет запускаться автоматически при загрузке системы.
После установки движка Docker необходимо запустить установку Harbor, загрузив пакет Harbor Installer.
Загрузка пакета Harbor Installer
Для установки порта необходимо загрузить пакет установщика порта. Существует два типа инсталляторов harbor: оффлайн-версия и онлайн-версия. В данном руководстве для установки harbor используется оффлайн-инсталлятор. Переместите рабочий каталог в „/tmp“ и загрузите автономную программу установки harbor с помощью команды curl, приведенной ниже.
cd /tmp curl -s https://api.github.com/repos/goharbor/harbor/releases/latest | grep browser_download_url | cut -d '"' -f 4 | grep '\.tgz$' | wget -i -
Теперь извлеките автономную программу установки harbor с помощью команды tar, приведенной ниже. После извлечения программы установки должен появиться новый каталог „harbor“.
tar -xzvf harbor-offline-installer-v2.6.1.tgz
Переместите каталог „harbor“ в „/opt“, что означает, что ваша установка harbor будет „/opt/harbor“.
sudo mv harbor /opt/
Настройка установки Harbor
После загрузки автономной программы установки harbor вам предстоит настроить установку harbor с помощью конфигурационного файла „harbor.yml“, входящего в состав пакета harbor. С помощью файла „harbor.yml“ вы зададите доменное имя для установки harbor, включите безопасный HTTPS на harbor, зададите пароль администратора и, наконец, настроите базу данных.Перед началом работы убедитесь, что доменное имя указывает на IP-адрес сервера и сгенерированы SSL-сертификаты, которые будут использоваться для защиты harbor. Переместите рабочий каталог в каталог установки harbor „/opt/harbor“.
cd /opt/harbor
Копируйте шаблон конфигурации harbor_’harbor.yml_.tmpl“ в „harbor.yml“. Затем с помощью следующей команды редактора nano отредактируйте файл конфигурации порта „harbor.yml“.
cp harbor.yml.tmpl harbor.yml sudo nano harbor.yml
Измените детали конфигурации, как показано ниже.
# The IP address or hostname to access admin UI and registry service. # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients. hostname: registry.hwdomain.io .... # https related config https: # https port for harbor, default is 443 port: 443 # The path of cert and key files for nginx certificate: /etc/letsencrypt/live/registry.hwdomain.io/fullchain.pem private_key: /etc/letsencrypt/live/registry.hwdomain.io/privkey.pem .... # The initial password of Harbor admin # It only works in first time to install harbor # Remember Change the admin password from UI after launching Harbor. harbor_admin_password: Harbor_Docker_Ubuntu .... # Harbor DB configuration database: # The password for the root user of Harbor DB. Change this before any production use. password: db_pass_harbor
Сохраните файл и выйдите из редактора по завершении работы. Ниже приведена подробная часть конфигурации:
- hostname – доменное имя, которое будет использоваться для запуска реестра образов harbor. В данном примере будет установлена на „registry.hwdomain.io“.
- https – отмена этой опции позволит включить и защитить установку гавани. Но также необходимо убедиться, что вы сгенерировали SSL-сертификаты для вашего домена и ввести полный путь к открытому и закрытому ключу сертификата.
- harbor_admin_password – начальный пароль, который будет использоваться во время установки гавани.
- database – конфигурация базы данных для гавани. Поэтому обязательно смените пароль на новый надежный пароль.
Установка Harbor с помощью сценария установщика и Docker Compose
Теперь, когда автономная программа установки harbor загружена и базовый конфигурационный файл „harbor.yml“ настроен, можно приступать к установке harbor с помощью сценария установки „install.sh“, доступного в каталоге установки harbor „/opt/harbor“. Перед началом установки harbor убедитесь, что ваш текущий рабочий каталог „/opt/harbor“.Теперь запустите сценарий установки harbor „install.sh“ с привилегиями sudo.
sudo ./install.sh
Теперь скрипт программы установки проверит системные требования перед началом установки harbor. Программа установки убедится, что в системе установлены движок Docker и Docker Compose.
Теперь программа установки извлечет образы, которые будут использоваться для развертывания harbor.
После этого программа установки подготовит системное окружение для развертывания harbor и сгенерирует необходимые конфигурации. После этого начнется установка.
По окончании установки должно появиться сообщение о том, что контейнерные службы harbor запущены.
После установки harbor с помощью сценария установщика необходимо проверить его работу, проверив контейнерные службы в системе и получив доступ к реестру образов harbor через веб-браузер.
Для проверки работы контейнерных служб harbor выполните следующую команду „docker compose“.
lsdocker compose ps
Далее откройте веб-браузер и зайдите на доменное имя вашей установки harbor (т.е.
https://registry.hwdomain.io/). Войдите в систему под стандартным пользователем admin и паролем, который вы задали в конфигурационном файле „harbor.yml“.
После ввода правильного пароля у вас должна появиться панель управления harbor. Также на экране появится проект по умолчанию с именем „library“.
На этом этапе вы завершили развертывание habaro и убедились, что он работает с помощью контейнерной оркестровки Docker engine и Docker Compose.
Создание пользователя Harbor
В разделе „Администрирование“ выберите меню „Пользователи“, затем нажмите кнопку „NEW USER“.
Введите данные о новом пользователе и подтвердите их нажатием кнопки „OK“. В данном примере будет создан новый пользователь Harbor „alice“, который будет использоваться для входа в Harbor через docker cli.
После создания пользователя вы должны увидеть его в списке меню „User“
Добавление пользователя в проект Harbor
В harbor проектом является пользовательское пространство, в котором будет работать пользователь. При установке по умолчанию harbor предоставляет имя проекта по умолчанию „library“. В этом шаге мы узнаем, как добавить нового пользователя „alice“ в проект по умолчанию „library“, чтобы он мог управлять проектом „library“. Также необходимо назначить роль для нового пользователя в целевом проекте.
Щелкните на меню „Project; и вы должны увидеть проект по умолчанию „library“.
Щелкните на проекте „library“, чтобы получить подробные настройки этого проекта.
Щелкните на меню „Members“ и вы должны увидеть, что в этом проекте есть только один пользователь-администратор. Нажмите кнопку „USER“, чтобы добавить пользователя harbor в проект „library“.
Введите пользователя, которого вы хотите добавить в проект, и назначьте ему роль. В данном примере пользователь „alice“ будет добавлен в проект „library“ с ролью „Project Admin“.
Теперь вы должны увидеть, что пользователь „alice“ доступен в списке участников проекта „library“.
Вход в Harbor через Docker Client
На этом шаге вы узнаете, как настроить реестр образов harbor с помощью Docker CLI. Вы будете входить в реестр образов harbor через Docker CLI под созданным пользователем – в данном примере используется пользователь „alice“. Вернитесь на свой терминальный сервер и выполните следующую команду docker для входа в реестр образов harbor.
docker login https://registry.hwdomain.io/
При появлении запроса введите имя пользователя и пароль. В данном примере будет использоваться пользователь „alice“. После успешного входа в систему должно появиться сообщение типа „Login Succeeded“.
После входа в систему harbor через docker cli теперь можно извлекать и вставлять изображения в систему harbor через docker cli.
Pushing Images to Harbor Registry
После авторизации в реестре образов harbor вы узнаете, как загрузить образ в реестр образов harbor с помощью Docker CLI.Перед началом работы выполните следующую команду docker для загрузки последней версии image_’nginx:alpine’_.
Теперь проверьте список образов с помощью приведенной ниже команды docker. Вы должны увидеть загруженный образ „nginx:alpine“.
docker images
Чтобы поместить пользовательские образы в реестр образов harbor, можно изменить тег текущего образа в формате „harbor-domain.com/project/image:version“. Для этого выполните следующую команду, чтобы изменить стандартный тег „nginx:alpine“ на „registry.hwdomain.io/library/nginx:alpine“.
docker tag nginx:alpine registry.hwdomain.io/library/nginx:alpine
После этого загрузите и вытолкните изображение в реестр изображений harbor следующей командой. Эта команда загрузит изображение в реестр изображений „registry.hwdomain.io“ с именем проекта „library“.
docker push registry.hwdomain.io/library/nginx:alpine
Ниже показан процесс загрузки изображения в реестр изображений harbor.
После того как изображение загружено в harbor, вернитесь в панель администрирования harbor, перейдите в меню „Project“ и нажмите „Repositories“. Вы должны увидеть, что новый образ загружен в реестр образов harbor через командную строку docker.
Комментарии (0)