3.2. GCP 사용자 프로비저닝 인프라의 레지스트리 설정

3.2.1. 이미지 레지스트리 Operator의 시크릿 설정

configs.imageregistry.operator.openshift.io 및 ConfigMap 리소스 외에도 openshift-image-registry 네임 스페이스 내에 있는 별도의 시크릿 리소스에 의해 설정이 Operator에게 제공됩니다.

image-registry-private-configuration-user 시크릿은 스토리지 액세스 및 관리에 필요한 인증 정보를 제공합니다. 기본 인증 정보가 검색되면 Operator가 사용하는 기본 인증 정보를 덮어씁니다.

GCP 저장소의 GCS의 경우 보안 시크릿에는 GCP에서 제공하는 사용자 인증 정보 파일의 콘텐츠 값에 해당하는 하나의 키가 포함되어야 합니다.

  • REGISTRY_STORAGE_GCS_KEYFILE

프로세스

  • 필수 키가 포함된 OpenShift Container Platform 시크릿을 생성합니다.

    $ oc create secret generic image-registry-private-configuration-user --from-file=REGISTRY_STORAGE_GCS_KEYFILE=<path_to_keyfile> --namespace openshift-image-registry

3.2.2. 사용자 프로비저닝 인프라를 사용하여 GCP의 레지스트리 스토리지 설정

Registry Operator가 GCP(Google Cloud Platform) 버킷을 생성할 수 없는 경우 스토리지 미디어를 수동으로 설정하고 레지스트리 CR(사용자 정의 리소스)에서 설정을 구성해야 합니다.

전제 조건

  • 사용자 프로비저닝 인프라가 있는 GCP의 클러스터.
  • GCP의 레지스트리 스토리지를 설정하려면 레지스트리 Operator 클라우드 사용자 인증 정보를 지정해야합니다.
  • GCP 저장소의 GCS의 경우 보안 시크릿에는 GCP에서 제공하는 사용자 인증 정보 파일의 콘텐츠 값에 해당하는 하나의 키가 포함되어야 합니다.

    • REGISTRY_STORAGE_GCS_KEYFILE

프로세스

  1. 1일이 지난 불완전한 다중 파트 업로드를 중단하도록 Object Lifecycle Management 정책을 설정합니다.
  2. configs.imageregistry.operator.openshift.io/cluster에 스토리지 설정을 입력합니다.

    $ oc edit configs.imageregistry.operator.openshift.io/cluster

    설정 예

    # ...
    storage:
      gcs:
        bucket: <bucket-name>
        projectID: <project-id>
        region: <region-name>
    # ...

주의

공용 액세스 방지를 설정하여 Google Cloud Storage 버킷을 사용하는 레지스트리 이미지를 보호할 수 있습니다.

3.2.3. GCP GCS의 이미지 레지스트리 Operator 설정 매개 변수

다음 설정 매개 변수는 GCP GCS 레지스트리 스토리지에 사용할 수 있습니다.

매개변수설명

bucket

버킷은 레지스트리의 데이터를 저장할 버킷 이름입니다. 이는 선택 사항이며 지정되지 않은 경우 생성됩니다.

region

리전은 버킷이 있는 GCS 위치입니다. 이는 선택 사항이며 설치된 GCS 지역에 따라 설정됩니다.

projectID

ProjectID는 이 버킷이 연결되어야하는 GCP 프로젝트의 프로젝트 ID입니다. 이는 선택 사항입니다.

keyID

KeyID는 암호화에 사용할 KMS 키 ID입니다. 버킷은 기본적으로 GCP에서 암호화되어 있으므로 이는 선택 사항입니다. 이를 통해 사용자 지정 암호화 키를 사용할 수 있습니다.