Tech story/Container

Harbor, 어떻게 쓸 것인가: Replication Rule

kt cloud 테크블로그 2024. 11. 18. 10:34

[kt cloud DevOps팀 이초환 님]

 

Harbor, 어떻게 쓸 것인가: Replication Rule

Harbor는 아티팩트를 정책과 역할 기반 접근 제어로 보호하고, 이미지가 취약점이 없는지 검사하며, 신뢰할 수 있는 이미지에 서명하는 오픈 소스 레지스트리입니다. Harbor는 CNCF(Cloud Native Computing Foundation)졸업 프로젝트로 Kubernetes와 Docker 같은 클라우드 네이티브 컴퓨팅 플랫폼에서 아티팩트를 일관되고 안전하게 관리할 수 있도록 컴플라이언스, 성능, 상호 운용성을 제공합니다.

이번 글을 포함한 앞으로 이어지는 글에서는 Harbor의 상세 기능을 중점적으로 다룹니다. 이미 Harbor의 설치와 기본 사용법은 많은 자료가 나와 있지만, 실제로 복잡한 운영 환경에서 Harbor의 세부적인 기능들을 충분히 활용하는 방법에 대한 자료는 상대적으로 부족한 편입니다. 그래서 이 글은 단순한 설치와 기본 사용단계는 생략하고, Harbor의 다양한 기능을 활용할 수 있는 구체적인 방법을 설명하는 데 초점을 맞추었습니다.

앞으로 다룰 Harbor의 7가지 기능은 Harbor가 제공하는 다양한 기능들 중에서도 컨테이너 환경에서 꼭 필요한 기능들로 선정했습니다. 특히 복제 규칙, P2P 프리히트, OIDC 연동 및 취약점 스캔 등은 다중 클러스터, 하이브리드 클라우드, 고도화된 보안이 요구되는 환경에서 필수적인 역할을 수행합니다. 각각의 기능은 Harbor를 활용한 이미지 관리와 배포에서 보안과 효율성을 극대화하는 데 중요한 요소가 되며, 이 글을 통해 독자들은 각 기능의 작동 원리와 활용 사례를 이해하고, 이를 직접 적용할 수 있는 실용적인 가이드를 얻게 될 것입니다.

따라서 이 글을 통해 Harbor의 유용한 기능들을 완전히 이해하고 실제 환경에서 효과적으로 활용할 수 있는 방법을 배우게 될 것입니다. 이 과정에서 Harbor를 단순한 이미지 레지스트리가 아닌 전략적인 컨테이너 이미지 관리 플랫폼으로 활용하는 방법을 발견하게 되기를 기대합니다.

 

 

Replication rule(복제 규칙)

복제 규칙은 다중 클러스터, 다중 리전, 또는 하이브리드 클라우드 환경에서 컨테이너 이미지를 자동으로 동기화하는 데 필요한 Harbor의 고급 기능입니다. 이 기능을 통해 이미지의 일관성을 유지하고, 네트워크 대역폭을 최적화하여 글로벌 환경에서 안정적이고 효율적인 이미지 배포가 가능합니다.

기본 복제 규칙 설정 방법

Harbor UI에서 복제 규칙 생성 절차

  1. Harbor UI 접속
  2. Registry Endpoint 등록

         a. Administration > Registries > [NEW ENDPOINT] 클릭

         b. Provider, Name, Endpoint URL, Access ID, Access Secret 등 입력

 

         c. 연결상태 확인([TEST CONNECTION]) 및 등록 완료([OK])

 

 

   3. Replication Rule 등록

        a. Administration > Replications >[NEW REPLICATION RULE] 클릭

        b. Name, 복제 모드, 필터링 규칙, 트리거 방식 등 설정 후 저장

       

        c. 저장 확인

저장된 트리거 방식과 무관하게 언제든 [REPLICATE] 버튼으로 수동 복제 가능합니다.

 

필터링 및 조건부 복제 설정

  1. 정규 표현식을 활용한 필터링

       a. ^prod-*와 같은 정규표현식 패턴을 사용하여 prod-로 시작하는 태그를 복제대상에 포함

   

   2. 라벨기반 복제 규칙 설정

       a. Administration > Labels 접속 후 라벨 생성

 

       b. Project > Repositories 에서 아티팩트별 개별 Label 설정

 

       c. Replication Rule 필터링 규칙에 적절한 label 을 설정하여 label 기반 복제

 

   3. 조건부 복제 및 시간 기반 복제

        a. Trigger mode 를 Scheduleed를 선택하고 적절한 주기를 설정

 

 

적용 예시

 

Main Harbor Repo

 

Replication Rule 적용

Tag = latest 기반 필터링 적용

 

수동 복제 실행([REPLICATE])

 

Tag = latest 항목 복제 확인(원격지 harbor-repository)

 

 

 

마무리

Harbor의 복제 규칙 설정과 적용 방법을 통해, 이제 온프레미스 환경 간 이미지 동기화, 멀티 리전 간 복제 등 다양한 환경에서 Harbor를 효과적으로 활용할 수 있는 준비가 되었습니다. 복제 규칙을 적절히 사용하면, 네트워크 대역폭을 절약하고 최신 이미지를 안정적으로 동기화하며, 고가용성과 데이터 일관성을 유지할 수 있습니다.

온프레미스 환경에서는 각 사이트에 필요한 이미지만 효율적으로 복제하여 리소스를 절약할 수 있고, 멀티 리전 복제를 통해 글로벌 환경에서도 사용자에게 빠르고 안정적인 서비스 제공이 가능합니다. 앞으로 이 기능을 잘 활용하여 Harbor의 강력한 이미지 관리 기능을 극대화하시기 바랍니다.

 

 

참고/출처