Работали ли вы с Harbor?

«Работали ли вы с Harbor?» — вопрос из категории Docker, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, я использовал Harbor в качестве корпоративного реестра контейнеров. Это позволило централизованно управлять артефактами (Docker-образами, Helm-чартами) с функциями безопасности и контроля доступа.

Ключевые задачи и настройки:

  • Развертывание: Устанавливал Harbor через официальный Helm-чарт в Kubernetes-кластере.
  • Безопасность: Настраивал HTTPS с использованием сертификатов от внутреннего CA, интегрировал сканирование уязвимостей (Trivy) в CI/CD пайплайн для блокировки развертывания образов с критическими CVE.
  • Управление доступом: Конфигурировал проекты, команды и политики RBAC, чтобы ограничивать доступ разных команд к своим репозиториям.
  • Репликация: Настраивал правила репликации между инстансами Harbor в разных дата-центрах для отказоустойчивости и снижения задержек.
  • Интеграция с CI/CD: В Jenkins-джобах использовал команды для аутентификации, тегирования и пуша образов:
    docker login harbor.mycompany.com --username $USER --password-stdin < /jenkins/secrets/harbor-pwd
    docker tag my-app:latest harbor.mycompany.com/my-team/my-app:$BUILD_NUMBER
    docker push harbor.mycompany.com/my-team/my-app:$BUILD_NUMBER
  • Хранение: Настраивал политики хранения (retention policies) для автоматической очистки старых теговых образов и экономии дискового пространства.