관리형 Harbor 서비스 개요

이 문서에서는 Google Distributed Cloud (GDC) 에어 갭의 관리형 Harbor 서비스 (MHS)에 대해 간략하게 설명합니다.

MHS는 오픈소스 Harbor 프로젝트를 기반으로 하는 완전 관리형 컨테이너 레지스트리입니다. MHS를 GDC 환경에 통합하면 격리된 환경에서 컨테이너 아티팩트의 수명 주기를 안전하고 확장 가능한 방식으로 관리할 수 있으며 수동 유지보수가 필요하지 않습니다.

이 개요에서는 GDC 오프라인 환경에서 MHS를 사용하는 데 필요한 기본 개념(예: GDC 프로젝트와 Harbor 인스턴스 프로젝트 간의 관계)을 소개합니다. 또한 인프라 수준 Identity and Access Management (IAM) 역할과 레지스트리 수준 역할 기반 액세스 제어 (RBAC) 간의 관리 경계와 자동 가비지 수집, 서비스 성능 제한과 같은 핵심 기능도 자세히 설명합니다.

이 문서는 GDC에서 MHS를 사용하고 관리하는 플랫폼 관리자 또는 애플리케이션 운영자 그룹의 개발자를 대상으로 합니다. 자세한 내용은 GDC 오프라인 환경의 잠재고객 문서를 참고하세요.

GDC의 관리형 Harbor 서비스 작동 방식

운영 영역

GDC MHS는 네트워크 아키텍처의 두 가지 고유한 기능 레이어에서 작동합니다. 각 레이어는 다음과 같은 특정 작업을 지원합니다.

  • 관리 평면 레이어: Harbor 레지스트리 인스턴스를 만들고 삭제할 수 있습니다.
  • 데이터 플레인 레이어: Harbor 인스턴스에서 컨테이너 이미지를 푸시하고 가져올 수 있습니다.

GDC 프로젝트와 Harbor 인스턴스 프로젝트의 차이점

관리형 Harbor 서비스에는 두 가지 고유한 프로젝트 유형이 포함됩니다. 이러한 엔티티 간의 상호작용을 이해하면 적절한 레이어에서 리소스와 액세스 제어를 관리할 수 있습니다.

  • GDC 프로젝트: 인프라 관리를 위한 조직 단위입니다. 이를 사용하여 VM, 클러스터와 같은 다른 GDC 리소스와 함께 Harbor 레지스트리 인스턴스를 관리합니다.

    • 한도: GDC 프로젝트에는 Harbor 인스턴스가 하나만 포함될 수 있습니다. 하지만 이 단일 인스턴스는 여러 GDC 프로젝트에서 공유하여 환경의 중앙 집중식 레지스트리를 제공할 수 있습니다.
    • 액세스: 인스턴스 생성, 관리, 관리 작업을 위해 GDC 프로젝트 수준 IAM 역할이 필요합니다.
  • Harbor 인스턴스 프로젝트: Harbor 인스턴스 내에 있는 아티팩트 관리를 위한 논리적 그룹화입니다. 이를 사용하여 컨테이너 이미지와 저장소 수준 액세스를 정리합니다.

    • 한도: Harbor 인스턴스는 여러 Harbor 프로젝트를 지원합니다. 이러한 항목은 공유 레지스트리 내에서 멀티 테넌시를 사용 설정하기 위해 개별 팀 또는 사용자에게 할당할 수 있습니다.
    • 액세스: 저장소를 관리하고, 관리 작업을 실행하고, 프로젝트 내에서 아티팩트 액세스를 제어하려면 레지스트리별 RBAC 역할이 필요합니다.

기능

Harbor는 Kubernetes 및 Docker용 기본 제공 클라우드 컨테이너 레지스트리 솔루션을 제공하는 Cloud Native Computing Foundation (CNCF) 졸업 오픈소스 프로젝트입니다. 관리 서비스 통합을 사용하면 GDC에 아티팩트를 저장하고 관리하는 Harbor 인스턴스를 배포할 수 있습니다. MHS는 다음 기능을 제공합니다.

  • Harbor 인스턴스는 GDC에 의해 자동으로 프로비저닝되고 관리됩니다.
  • Harbor는 인증 및 관측 가능성 시스템을 위해 GDC의 IAM과 통합됩니다.
  • Harbor 인스턴스를 안정적인 최신 버전으로 업그레이드할 수 있습니다.
  • Harbor가 GDC의 규정 준수 및 품질 요구사항을 충족하도록 개선되었습니다.
  • Harbor 인스턴스는 영역별 리소스입니다. 한 영역에 배포되지만 GDC 배포 유니버스 내의 모든 영역에서 액세스할 수 있습니다.

Identity and Access Management(IAM)

관리형 Harbor 서비스의 RBAC는 GDC 프로젝트 수준과 Harbor 레지스트리 프로젝트 수준 모두에 적용됩니다. 적절한 IAM 역할이 있는 사용자는 GDC 프로젝트 내에서 Harbor 인스턴스에 액세스하고 이를 관리할 수 있으며, 적절한 Harbor 레지스트리 프로젝트 역할이 있는 사용자는 Harbor 프로젝트 내에서 아티팩트를 관리하고 관리 작업을 실행할 수 있습니다.

GDC 프로젝트 IAM 역할

GDC는 GDC-IAM 역할을 사용하여 프로젝트 수준 권한을 할당합니다. MHS 절차 문서에서 필요한 역할을 찾아 조직 IAM 관리자에게 액세스 권한을 부여해 달라고 요청합니다.

인프라 운영자 (IO) 작업을 실행하려면 GDC MHS 서비스 매뉴얼을 확인하여 작업에 필요한 IAM 역할을 찾으세요.

Harbor 레지스트리 프로젝트 역할

Harbor 프로젝트는 GDC IAM 역할과 다른 자체 RBAC 메커니즘을 사용합니다.

Harbor 레지스트리 프로젝트 저장소와 아티팩트를 관리하려면 Harbor 프로젝트 수준에서 올바른 Harbor 역할이 할당되어 있어야 합니다. Harbor 역할 목록은 사용자 액세스 관리 관련 Harbor 문서(https://goharbor.io/docs/2.8.0/administration/managing-users/)를 참고하세요.

성능

Google은 시스템 한도에 명시된 한도를 지원하도록 MHS를 테스트하고 검증했습니다.

실제 성능 한도는 더 높을 수 있습니다.

가비지 컬렉션

MHS를 사용하여 레지스트리에서 이미지를 추가하고 삭제하면 시간이 지남에 따라 사용하지 않는 데이터가 누적될 수 있습니다. 스토리지 리소스에 부담을 주지 않도록 MHS는 12시간마다 자동으로 가비지 컬렉션을 실행합니다. 가비지 컬렉션을 수동으로 구성할 필요가 없습니다.

다음 단계

MHS를 사용 설정하고 사용하려면 다음 문서를 검토하세요.