Satellite 클러스터에 대한 내부 이미지 레지스트리 설정

Satellite

기본적으로 이 내부 레지스트리는 이에 대한 배킹 스토리지가 설정되지 않아 Satellite 클러스터에서 실행되지 않습니다. IBM Cloud Object Storage 을 백업 스토리지로 사용하여 Satellite 클러스터에서 내부 이미지 레지스트리를 구성하려면 다음 학습서를 완료하십시오.

이 학습서는 IBM Cloud Object Storage을 사용하여 이미지 레지스트리를 설정하는 방법을 다룹니다. 그러나 작업자 노드에서 비지속적 스토리지를 사용할 수도 있습니다. 자세한 정보는 작업자 노드 빈 디렉토리에 이미지 저장 을 참조하십시오.

요구사항을 충족하는 IBM Cloud Object Storage 인스턴스 작성

  1. IBM Cloud 콘솔에서 리소스 메뉴로 이동하여 스토리지 인스턴스를 나열하십시오.
  2. Object Storage 인스턴스를 식별하고 위치 열을 찾으십시오. 인스턴스가 IBM Cloud에서 작성된 경우 해당 위치는 글로벌로 나열됩니다.
  3. 요구사항을 충족하는 글로벌 인스턴스가 없는 경우에는 다음 단계를 수행하여 인스턴스를 작성하십시오.
    1. IBM Cloud Object Storage에서 인스턴스 작성을 클릭하십시오.
    2. 인프라 선택에서 IBM Cloud 옵션을 선택하십시오.
    3. 가격 플랜 및 서비스 이름을 선택하십시오.
    4. Satellite 구성요소가 저장되는 리소스 그룹을 선택하십시오.
    5. 작성을 클릭하십시오. 프로비저닝하는 데 몇 분 정도 걸릴 수 있다는 점에 유의하시기 바랍니다.

이미지 레지스트리에 사용할 버킷 작성

이미지 레지스트리를 설정할 때 사용할 버킷을 작성하십시오. 버킷은 지역 복원성으로 구성되어야 합니다. 버킷 작성에 대한 자세한 정보는 IBM Cloud Object Storage설정 을 참조하십시오.

  1. Object Storage 를 클릭하세요.
  2. 버킷 작성을 클릭하십시오.
  3. 버킷 사용자 정의옵션을 선택하십시오.
  4. 복원성에서 지역을 선택하십시오.
  5. 위치 드롭 다운 메뉴에서 위치가 관리되는 가장 가까운 지역을 선택하십시오. 예를 들어, 위치가 wdc (Washington, DC) 에서 관리되는 경우 us-east 지역을 선택하십시오. Satellite 위치가 관리되는 위치를 확인하려면 CLI에서 ibmcloud sat location ls 를 실행하십시오.
  6. 스토리지 클래스에서 표준을 선택하십시오.
  7. 나머지 카테고리를 환경 설정에 맞게 구성하십시오.
  8. 버킷 작성을 클릭하십시오.
  9. 클러스터가 Object Storage 인스턴스와 통신할 수 있도록 하는 서비스 인증 정보를 작성하십시오.
  10. 탐색 분할창에서 서비스 신임 정보를 클릭한 후 새 신임 정보를 클릭하십시오.
  11. 새 자격증의 이름을 입력하세요.
  12. 드롭 다운 메뉴에서 작성자 역할을 선택하십시오.
  13. 고급 옵션을 클릭한 후 HMAC 신임 정보 포함옵션을 선택하십시오.
  14. 추가 를 클릭하십시오.
  15. 서비스 신임 정보 테이블에서 새 신임 정보를 펼치십시오. access_key_idsecret_access_key_id 에 유의하십시오. 이 신임 정보를 다른 사용자와 공유하지 마십시오. 저장할 예제 신임 정보입니다.
    "cos_hmac_keys": {
        "access_key_id": "1111111a1111111a11aa1a111111111a11aa1a111a11a1a1",
        "secret_access_key": "222222b222222b22bb2b22222222b22bb2b222b22b2b2"
    }
    

COS 서비스 인증 정보를 포함하는 시크릿 작성

CLI에서 작성하고 저장한 서비스 인증 정보를 사용하여 시크릿을 작성하십시오.

  1. 계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
  2. 시크릿을 작성하십시오.
    oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=<access_key_id> --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=<secret_access_key> --namespace openshift-image-registry
    

Red Hat OpenShift 레지스트리 연산자 CRD 업데이트

  1. Red Hat OpenShift 등록 연산자의 관리 상태를 변경하십시오.
    oc patch configs.imageregistry.operator.openshift.io cluster --type merge --patch '{"spec":{"managementState":"Managed"}}'
    
  2. Object Storage 버킷에 이미지를 저장하도록 구성 스토리지 속성을 편집하십시오.
    1. Satellite 위치의 지역 링크 엔드포인트를 찾아 저장하십시오. 출력에서 엔드포인트는 주소 컬럼 아래에 나열됩니다.
      ibmcloud sat endpoint ls --location <location_name> | grep satellite-cosRegional
      
      출력 예
      ID                           Name                                              Destination Type   Address       
      cavvku1p1h1gcfgk1kn1_uwokw   satellite-cosRegional-cavvku1p1h1gcfgk1kn1        cloud              TLS   i11aa11a1a1a11a11-1a11a1aaa1a1a1a1a-c000.us-east.satellite.appdomian.cloud:11111
      
    2. CLI에서 파일 편집기를 여십시오.
      oc edit configs.imageregistry.operator.openshift.io/cluster
      
    3. 편집할 다음 섹션을 찾으십시오.
      storage:
          emptyDir: {}
          managementState: Managed
      storageManaged: true
      
    4. emptyDir: {} 를 버킷 정보 및 위치 엔드포인트로 대체하십시오.
      s3:
        bucket: <bucket_name>
        region: <bucket_region>
        regionEndpoint: <location_link_endpoint>
        virtualHostedStyle: false
      
      버킷 및 위치 정보를 추가한 후의 예제 섹션입니다.
        storage:
          managementState: Managed
          s3:
            bucket: my_bucket
            region: us-east
            regionEndpoint: https://i11aa11a1a1a11a11-1a11a1aaa1a1a1a1a-c000.us-east.satellite.appdomian.cloud:11111
            virtualHostedStyle: false
        storageManaged: true
      
    5. 변경을 저장하고 적용하십시오.

변경사항 확인

openshift-image-registry 네임스페이스에서 image-registry- 로 시작하는 팟 (Pod) 을 확인하여 이미지 레지스트리가 구성되었는지 확인하십시오.

  1. 다음 명령을 실행하십시오.

    oc get pod -n openshift-image-registry
    
  2. 출력을 검토하고 레지스트리 팟 (Pod) 이 Running 인지 확인하십시오.

    출력 예

    NAME                                               READY   STATUS      RESTARTS      AGE
    image-registry-63p54b8add-vkjju                    1/1      Running      0              16m