IT정보

Harbor란? 간단 개념정리!

TechN 2025. 4. 16. 09:30
반응형

Harbor란? 개념부터 기능까지 자세한 설명

Harbor는 클라우드 네이티브 환경에서 컨테이너 이미지를 저장하고 관리할 수 있도록 설계된 오픈소스 컨테이너 이미지 레지스트리(Registry)입니다.

기본적으로 Docker Registry 기능을 확장한 고급 기능들을 제공하며, 보안, 권한 관리, 감사 로깅, 복제, 스캐닝 등 기업 환경에서 필요한 기능을 종합적으로 포함하고 있어 쿠버네티스(Kubernetes) 기반 인프라에서 널리 사용되고 있습니다.

프로젝트는 Cloud Native Computing Foundation(CNCF)의 인큐베이티드 프로젝트이며, VMware에 의해 시작되었습니다.

1. Harbor의 개념

Harbor는 컨테이너 이미지 저장소를 엔터프라이즈 환경에 맞게 보완한 시스템입니다.
Docker Registry를 기반으로 개발되었으며, 기존 레지스트리보다 보안과 정책 관리가 강화된 솔루션입니다.

또한 RESTful API를 통해 외부 시스템과의 연동이 가능하며, Kubernetes, Helm과 같은 툴과도 유기적으로 통합됩니다.

2. Harbor의 주요 기능

  1. Role-Based Access Control (RBAC)
    • 사용자 및 프로젝트 별로 세부적인 접근 권한을 설정할 수 있습니다.
  2. LDAP/AD 통합 인증
    • 기업용 인증 시스템과 연동하여 사용자 인증을 중앙화할 수 있습니다.
  3. 이미지 스캐닝(Image Scanning)
    • 취약점을 탐지하는 이미지 보안 스캔 기능을 통해 악성 코드나 취약한 구성 요소를 사전에 확인할 수 있습니다.
  4. 정책 기반 복제(Image Replication)
    • 다른 Harbor 인스턴스나 외부 레지스트리로 이미지를 복제할 수 있는 기능을 제공합니다.
  5. 감사 로깅(Audit Logging)
    • 사용자 행동 및 시스템 변경사항에 대한 로그를 기록하여 감사 추적이 가능합니다.
  6. Content Signing and Verification
    • Notary를 통해 이미지에 대한 서명(Signing)을 하고, 진위 여부를 검증할 수 있습니다.
  7. Helm Chart 저장소 지원
    • 단순히 Docker 이미지뿐 아니라 Helm 차트 저장 및 관리를 지원합니다.

3. Harbor의 구성 요소

 

구성  요소설명
Core Service 사용자 요청을 처리하는 주요 API 서버
Portal 웹 UI를 제공하며, 사용자 인터페이스를 통해 프로젝트, 권한, 이미지 등을 관리
Registry Docker Distribution을 기반으로 한 컨테이너 이미지 저장소
Job Service 이미지 복제, 삭제, 스캔 등의 백그라운드 작업 처리
Database 사용자, 프로젝트, 이미지 메타데이터 저장용 PostgreSQL
ChartMuseum Helm 차트 저장 및 검색 서비스
Notary 이미지 서명 및 검증 서비스
Clair/Trivy 이미지 취약점 스캐너 (보통 Trivy가 기본 제공됨)

4. Harbor의 작동 방식

  1. 이미지 업로드
    • 사용자는 Docker CLI 또는 CI/CD 파이프라인을 통해 Harbor에 이미지를 푸시합니다.
  2. 정책 및 권한 확인
    • Harbor는 업로드 대상 프로젝트에 대한 사용자 권한을 확인하여 허용 여부를 판단합니다.
  3. 스캐닝 및 서명
    • 설정된 정책에 따라 이미지 취약점 스캔 또는 디지털 서명이 자동으로 수행됩니다.
  4. 복제 및 분산 저장
    • 다른 Harbor 서버나 외부 레지스트리로 이미지가 복제되도록 정책을 설정할 수 있습니다.
  5. 이미지 배포
    • Kubernetes, Docker 등의 시스템에서 이미지를 Pull하여 애플리케이션을 배포할 수 있습니다.

5. Harbor와 일반 Docker Registry 비교

항목 HarborDocker Registry
권한 관리 세분화된 RBAC 지원 기본 인증만 지원
웹 UI 제공 제공하지 않음
이미지 스캔 Trivy, Clair 등 통합 기본 제공하지 않음
이미지 서명 Notary 연동 가능 미지원
복제 기능 지원 (정책 기반) 미지원
Helm Chart 지원 지원 미지원

6. Harbor의 설치 방식

  1. Docker-Compose 설치 (기본 설치)
    • 간단히 로컬 테스트용으로 docker-compose로 설치 가능
    BASH 쉘 예시)
    git clone https://github.com/goharbor/harbor.git 
    cd harbor  
    ./install.sh  
     
  2. Helm Chart 기반 설치 (Kubernetes)
    • 쿠버네티스 환경에서는 Helm Chart를 사용한 배포가 일반적
    BASH 쉘 예시)
    helm repo add harbor https://helm.goharbor.io 
    helm install harbor harbor/harbor  
     
  3. 설치 전 필수 조건
    • Docker, Docker Compose, 도메인 이름, SSL 인증서 등이 필요할 수 있음

7. Harbor의 활용 사례

활용  분야설명
내부 컨테이너 이미지 저장소 조직 내부에서만 사용하는 이미지 저장소로 활용
보안 강화된 DevOps 파이프라인 이미지 스캔 및 서명을 통해 보안 강화
멀티 클러스터 운영 복제 기능을 활용해 여러 지역 또는 클러스터에 이미지 배포
Helm 차트 관리 애플리케이션 배포용 Helm Chart 저장소로 사용
교육 및 테스트 환경 경량 테스트 및 실습용 레지스트리로 사용 가능

8. Harbor의 장점과 단점


장점 설명
보안 중심 설계 스캔, 서명, 인증 등 보안 기능 강화
관리 UI 제공 직관적인 웹 기반 관리 페이지 제공
확장성 다양한 규모의 조직에 적용 가능
멀티테넌시 프로젝트 기반으로 다수의 사용자 및 팀 운영 가능

단점 설명
설정 복잡성 고급 기능은 설정이 복잡할 수 있음
리소스 요구 중대형 환경에서는 높은 리소스가 필요함
고가용성 구성 어려움 HA 구성 시 외부 Redis, DB 등 구성 필요

9. 간단 요약

  1. Harbor는 보안 및 관리 기능이 강화된 오픈소스 컨테이너 이미지 레지스트리로, Docker Registry의 상위 대안입니다.
  2. 이미지 스캔, 사용자 권한, 복제, Helm 차트 저장소 등의 다양한 기능을 제공하여 엔터프라이즈 환경에서 활용도가 높습니다.
  3. Kubernetes 및 DevOps 환경과의 연동이 우수하며, 보안과 확장성을 동시에 고려해야 하는 조직에 적합합니다.

추천 태그

Harbor, 컨테이너 레지스트리, Docker Registry, 오픈소스 레지스트리, 이미지 스캔, Kubernetes, CI/CD, DevOps, Helm Chart 저장소, Harbor 설치, Trivy, Harbor 보안, Harbor 복제, Harbor 설정, CNCF 프로젝트, Harbor vs Docker Registry

반응형