3장. 레지스트리 설정 및 구성
3.1. AWS 사용자 프로비저닝 인프라의 레지스트리 설정
3.1.1. 이미지 레지스트리 Operator의 시크릿 설정
configs.imageregistry.operator.openshift.io
및 ConfigMap 리소스 외에도 openshift-image-registry
네임 스페이스 내에 있는 별도의 시크릿 리소스에 의해 설정이 Operator에게 제공됩니다.
image-registry-private-configuration-user
시크릿은 스토리지 액세스 및 관리에 필요한 인증 정보를 제공합니다. 기본 인증 정보가 검색되면 Operator가 사용하는 기본 인증 정보를 덮어씁니다.
Amazon 스토리지 S3의 경우 시크릿에는 다음 두 개의 키가 포함되어야 합니다.
-
REGISTRY_STORAGE_S3_ACCESSKEY
-
REGISTRY_STORAGE_S3_SECRETKEY
프로세스
필수 키가 포함된 OpenShift Container Platform 시크릿을 생성합니다.
$ oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=myaccesskey --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=mysecretkey --namespace openshift-image-registry
3.1.2. 사용자 프로비저닝 인프라로 AWS의 레지스트리 스토리지 설정
설치하는 동안 클라우드 자격 증명만으로도 Amazon S3 버킷을 생성할 수 있으며 Registry Operator가 자동으로 스토리지를 구성합니다.
Registry Operator가 S3 버킷을 생성하고 스토리지를 자동으로 구성할수 없는 경우 다음 프로시저에 따라 S3 버킷을 생성하고 스토리지를 구성할 수 있습니다.
사전 요구 사항
- AWS에 사용자 프로비저닝된 인프라가 있는 클러스터가 있어야 합니다.
Amazon S3 스토리지의 경우 시크릿에는 두 개의 키가 포함되어야 합니다.
-
REGISTRY_STORAGE_S3_ACCESSKEY
-
REGISTRY_STORAGE_S3_SECRETKEY
-
프로세스
Registry Operator가 S3 버킷을 생성하고 스토리지를 자동으로 구성할 수 없는 경우 다음 프로시저를 사용합니다.
- 1일이 지난 완료되지 않은 다중 파트 업로드를 중단하도록 Bucket Lifecycle Policy를 설정합니다.
configs.imageregistry.operator.openshift.io/cluster
에 스토리지 설정을 입력합니다.$ oc edit configs.imageregistry.operator.openshift.io/cluster
설정 예
storage: s3: bucket: <bucket-name> region: <region-name>
AWS에서 레지스트리 이미지를 보안을 위해 S3 버킷에 공용 액세스를 차단합니다.
3.1.3. AWS S3의 이미지 레지스트리 Operator 설정 매개 변수
다음 설정 매개 변수는 AWS S3 레지스트리 스토리지에 사용할 수 있습니다.
이미지 레지스트리 spec.storage.s3
구성 매개변수에는 백엔드 스토리지에 AWS S3 서비스를 사용하도록 레지스트리를 구성하는 정보가 들어 있습니다. 자세한 내용은 S3 스토리지 드라이버 설명서를 참조하십시오.
매개변수 | 설명 |
---|---|
| 버킷은 레지스트리의 데이터를 저장할 버킷 이름입니다. 이는 선택 사항이며 지정되지 않은 경우 생성됩니다. |
| 리전은 버킷이 있는 AWS 리전입니다. 이는 선택 사항이며 설치된 AWS 리전에 따라 설정됩니다. |
| RegionEndpoint는 S3 호환 스토리지 서비스의 엔드 포인트입니다. 이는 지정된 지역에 따라 선택 사항 및 기본값입니다. |
| VirtualHostedStyle은 사용자 지정 RegionEndpoint에서 S3 가상 호스팅 스타일 버킷 경로 사용을 활성화합니다. 이는 선택 사항이며 기본값은 false입니다. 이 매개 변수를 설정하여 OpenShift Container Platform을 숨겨진 지역에 배포합니다. |
| encrypt는 레지스트리가 이미지를 암호화된 형식으로 저장할지 여부를 지정합니다. 이는 선택 사항이며 기본값은 false입니다. |
| KeyID는 암호화에 사용할 KMS 키 ID입니다. 이는 선택 사항입니다. Encrypt는 true이어야합니다. 그렇지 않으면 이 매개 변수가 무시됩니다. |
| CloudFront는 Amazon Cloudfront를 레지스트리에 스토리지 미들웨어로 설정합니다. 이는 선택 사항입니다. |
|
|
regionEndpoint
매개변수 값이 Rados Gateway의 URL로 구성된 경우 명시적 포트를 지정하지 않아야 합니다. 예를 들어 다음과 같습니다.
regionEndpoint: http://rook-ceph-rgw-ocs-storagecluster-cephobjectstore.openshift-storage.svc.cluster.local