← Назад к вопросам
Что можно делать с Image в Harbor кроме хранения
1.6 Junior🔥 182 комментариев
#Docker и контейнеризация
Комментарии (2)
🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Управление образами в Harbor: от хранилища до полноценной платформы
Harbor — это не просто реестр контейнерных образов, а целая платформа управления артефактами с корпоративными функциями. Помимо базового хранения, он предоставляет обширный набор возможностей для управления жизненным циклом, безопасности, автоматизации и совместной работы.
Безопасность и соответствие требованиям
- Сканирование на уязвимости (Vulnerability Scanning): Интеграция с такими сканерами, как Trivy или Clair, позволяет автоматически проверять образы на наличие известных уязвимостей (CVE) как в базовом образе, так и в установленных пакетах.
# Активация сканирования через API (пример) curl -X POST -H "Content-Type: application/json" -d '{"scan_type": "vulnerability"}' \ -u admin:Harbor12345 https://harbor.company.com/api/v2.0/projects/myproject/repositories/myimage/artifacts/latest/scan - Подписание образов (Content Trust): Использование Notary для цифровой подписи образов гарантирует их целостность и происхождение, предотвращая запуск непроверенных или измененных образов.
- Политики безопасности (Security Policies): Настройка правил, например:
* Запрет на развертывание образов с критическими уязвимостями.
* Требование обязательного сканирования перед запуском.
* Блокировка образов из непроверенных источников.
Управление жизненным циклом и репликацией
- Управление тегами (Tag Management): Возможность удаления, закрепления (immutable tags) или полной очистки тегов по расписанию или политикам.
- Репликация (Replication): Критически важная функция для:
* **Гео-распределения:** Копирование образов в региональные инстансы Harbor для ускорения загрузки.
* **Аварийного восстановления (DR):** Синхронизация с резервным реестром.
* **Миграции и синхронизации:** Копирование между разными средами (Prod/Stage) или из публичных реестров (Docker Hub, GCR).
```yaml
# Пример политики репликации (из UI или API):
# Источник: Docker Hub (library/nginx)
# Назначение: проект 'prod-infra' в Harbor
# Триггер: по событию (event-based) или по расписанию (scheduled)
```
- Сборка мусора (Garbage Collection): Автоматическое удаление "висячих" слоев образов, которые больше не используются, для эффективного управления дисковым пространством.
Организация, контроль доступа и автоматизация
- Проекты и пространства имен (Projects): Логическое разделение образов по командам, продуктам или средам (например,
team-frontend,project-backend-prod). Каждый проект имеет собственные настройки доступа и политики. - Ролевая модель доступа (RBAC): Детальное управление правами (Чтение, Запись, Администрирование) для пользователей и робот-аккаунтов на уровне проекта.
# Создание робот-аккаунта с правами на pull для CI/CD curl -X POST -H "Content-Type: application/json" -d '{"name":"jenkins-puller", "permissions":[{"resource":"project","action":"pull","resource_name":"myapp"}]}' \ -u admin:Harbor12345 https://harbor.company.com/api/v2.0/robots - Вебхуки (Webhooks): Настройка уведомлений о событиях в реестре (PUSH, DELETE, SCANNING_COMPLETED) для интеграции с внешними системами:
* **CI/CD пайплайны (Jenkins, GitLab CI):** Запуск тестов после успешного пуша.
* **Системы мониторинга/оповещения (Slack, Teams):** Уведомление о новых уязвимостях.
* **Оркестраторы (Kubernetes):** Инициирование rolling update при поступлении нового образа.
```json
// Пример полезной нагрузки (payload) вебхука на событие PUSH_ARTIFACT
{
"type": "PUSH_ARTIFACT",
"occur_at": 1678886400,
"operator": "ci-user",
"event_data": {
"resources": [{
"digest": "sha256:abc123...",
"tag": "v1.2.0",
"resource_url": "harbor.company.com/myproject/myapp:v1.2.0"
}]
}
}
```
Работа с артефактами OCI и дополнительные возможности
- Хранение артефактов OCI (OCI Artifacts): Современные версии Harbor поддерживают не только Docker-образы, но и артефакты в формате OCI:
* **Helm Charts** (через встроенный репозиторий Helm).
* **Файлы SBOM** (CycloneDX, SPDX).
* **Артефакты машинного обучения (ML models).**
* **Шаблоны CNAB.**
- Иммьютабельные теги (Immutable Tags): Запрет на перезапись или удаление тегов (например,
latest,v1.0), что является лучшей практикой для стабильных окружений и предотвращает "дрейф" конфигурации. - Проксирование кэша (Proxy Cache): Настройка Harbor в качестве прокси -кэширующего реестра для публичных реестров (Docker Hub). Это ускоряет загрузку, снижает зависимость от внешних сетей и позволяет применять корпоративные политики безопасности ко всем загружаемым образам.
Заключение
Таким образом, Harbor трансформирует простое хранилище образов в единый центр управления и безопасности для всего жизненного цикла контейнеров и артефактов. Для DevOps-инженера это инструмент для обеспечения Governance, Compliance и Automaton, который позволяет безопасно и контролируемо доставлять приложения от разработки до производства, интегрируясь в CI/CD-цепочку и инфраструктуру Kubernetes.