Hybor
1. Harbor 소개
Harbor는 VMware에서 시작된 프로젝트로, 컨테이너 이미지 및 Helm 차트를 중앙 레지스트리에서 저장·관리하는 기능을 제공합니다. openlogic.comGitHub. CNCF에 2018년 인큐베이팅으로 받아들여졌고, 2020년 6월에 졸업하여 안정성과 호환성을 검증받았습니다
필요성
기존 Docker Registry는 인증·인가, 스캐닝, 서명 등 엔터프라이즈급 기능이 제한되어 있어, 대규모 조직에서 보안·컴플라이언스 요구사항을 충족하기 어렵습니다. Harbor는 이러한 기능을 플러그인 형태로 통합 제공하여, 단일 솔루션으로 종합적인 이미지 관리가 가능합니다.
2. Harbor의 주요 기능
2.1 이미지 저장 및 관리
프로젝트 단위로 리포지토리를 조직화하고, 태그·레퍼런스를 효율적으로 관리할 수 있습니다. 또한, 불필요한 이미지를 정리하는 보존 정책(retention policy)을 설정할 수 있어 스토리지 사용량을 최적화합니다.
2.2 취약성 스캐닝
Harbor는 Trivy 및 Clair 엔진을 통합해 이미지에 포함된 취약점을 자동으로 스캔합니다. 스캔 결과는 웹 UI와 API를 통해 확인 가능하며, 정책 위반 시 푸시를 차단하도록 설정할 수 있습니다.
2.3 역할 기반 접근 제어 (RBAC)
관리자, 개발자, 게스트 등 사용자 역할별로 프로젝트 접근 권한을 세분화하여 부여할 수 있습니다. LDAP/AD 연동을 통해 사내 인증 시스템과 자연스럽게 통합할 수도 있습니다.
2.4 아티팩트 서명
Cosign 또는 Notary를 사용해 컨테이너 이미지를 서명하고, 서명된 아티팩트의 무결성을 검증할 수 있습니다. 이를 통해 이미지가 신뢰된 소스에서 왔음을 보장할 수 있습니다.
2.5 이미지 복제(Replication)
Harbor 간 또는 외부 레지스트리와의 푸시/풀 복제를 지원해, 지리적으로 분산된 환경에서도 레이턴시를 최소화하고 고가용성을 유지합니다.
3. Harbor 아키텍처
주요 컴포넌트
- Core: API 비즈니스 로직을 처리하는 핵심 서비스입니다.
- Registry: Docker Distribution을 확장한 이미지 저장소입니다.
- Portal (Web UI): 사용자 인터페이스를 제공하는 프론트엔드입니다.
- Database (PostgreSQL): 메타데이터 영구 저장소입니다.
- Job Service: 백그라운드에서 스캔, 복제 작업을 수행합니다.
- Notary/Signer: 이미지 서명·검증을 처리합니다.
- Redis: 캐시 및 세션 관리를 담당합니다.
- Nginx: 리버스 프록시 및 SSL 종단 기능을 수행합니다.
4. 설치 및 설정 단계별 가이드
사전 준비
- 하드웨어: 최소 2 vCPU, 4 GB RAM, 40 GB 디스크 이상 권장
- 소프트웨어: Docker Engine ≥17.06, Docker Compose ≥1.18 설치
- 네트워크: 포트 80/443(HTTPS), 4443(Notary), harbor-helm의 경우 Kubernetes 클러스터 & Helm v3 환경 준비
Docker Compose 방식 설치(공식가이드)
- 공식 설치 스크립트를 다운로드합니다.
- docker-compose.yml을 원하는 설정으로 편집합니다(인증서, 비밀번호 등).
- sudo docker-compose up -d 명령으로 Harbor를 기동합니다.
본문에서 제공하는 파일을 다운로드받아서 도커 컴포즈로 실행 하시면 자동으로 이미지가 다운로드되며, 기타 설정은 도커컴포즈에서 직접 하셔야합니다.
압축 풀고 docker compose -d up 입니다.