Что такое Harbor

Обновлено и опубликовано Опубликовано:

Harbor —
простыми словами

приватный реестр с открытым исходным кодом для хранения и управления образами контейнеров — Docker и OCI-совместимых, а также чартов Helm.

С ростом популярности контейнеризации на базе Docker и Kubernetes у команд появляется все больше собранных образов, которые нужно где-то хранить и раздавать. Публичный Docker Hub подходит не всем: важны контроль над доступом, скорость раздачи внутри локальной сети и безопасность содержимого образов. Для таких задач и разворачивают собственное хранилище.

Само слово harbor переводится с английского как гавань или порт — удачный образ для системы, где собираются и распределяются образы контейнеров, прежде чем отправиться дальше, в кластер.

Основные возможности:

  • Ролевая модель доступа (RBAC). Права пользователей и проектов настраиваются гибко, поддерживается интеграция с LDAP и Active Directory.
  • Сканирование на уязвимости. Каждый загруженный образ можно автоматически проверить на сканере по умолчанию — Trivy. Архитектура допускает подключение других сканеров.
  • Подписание образов. Политика доверия на основе Notary или Cosign подтверждает подлинность контента перед использованием.
  • Репликация данных. Образы синхронизируются между несколькими серверами Harbor для отказоустойчивости.
  • Очистка места (Garbage Collection). Старые и неиспользуемые образы удаляются автоматически по расписанию.

Архитектура и компоненты

Если коротко: это набор сервисов вокруг стандартного Docker registry — веб-интерфейс для администрирования и API для автоматизации задач в CI/CD. Метаданные — проекты, пользователи, права — хранятся в PostgreSQL, а сами слои образов размещаются в отдельном блочном или объектном хранилище.

Установка Harbor выполняется через docker compose plugin для одиночного сервера или через Helm-чарт либо Harbor Operator для Kubernetes-кластера. Запустим сервисы командой:

docker compose up -d

* перед первым запуском нужно заполнить файл harbor.yml — указать домен, сертификаты и пароль администратора.

Кому нужен Harbor

  • Компаниям с жесткими требованиями к безопасности, которые предпочитают On-Premise решения.
  • Командам, которым важно ускорить скачивание образов внутри локальной сети и сэкономить внешний трафик.
  • Разработке в закрытом контуре — изолированных средах без доступа в интернет.

Часто Harbor сравнивают с публичным Docker Hub:

  • Полный контроль над тем, кто и что публикует в реестре.
  • Не зависит от лимитов на скачивание, которые есть у публичных реестров.
  • Требует собственной инфраструктуры и ее обслуживания, в отличие от облачного Docker Hub.

Harbor распространяется под лицензией Apache License 2.0 — использовать его можно бесплатно, в том числе в коммерческих проектах. Сейчас проект развивается под эгидой Cloud Native Computing Foundation (CNCF), и именно поэтому для многих команд он стал стандартом де-факто, когда речь заходит о локальном хранении контейнеров.



Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Другие термины

BIND   Безопасный режим   Javascript   IIS   SPF-запись   IAX   PHP-FPM   DHCP   Sharepoint   CIFS/SMB   PostGIS   Corosync   Exchange Server   Ceph   Python   Прокси-сервер   Redis   Ansible   Onedrive   DKIM  
.....

Реклама