2.2.5. 컨테이너 이미지 레지스트리 설정 구성
OpenShift Container Platform이 컨테이너 이미지를 가져오는 데 사용하는 레지스트리를 정의하는 설정은 기본적으로 /etc/containers/registries.conf
파일에 보관됩니다. 해당 파일에서 인증이 필요하지 않도록 (비보안) 레지스트리를 설정하거나 미러링된 레지스트리를 가리키거나 정규화되지 않은 컨테이너 이미지 요청을 검색하는 레지스트리를 설정할 수 있습니다.
registries.conf
를 직접 변경하는 대신 구성 파일을 /etc/containers/registries.conf.d
디렉터리에 배치하면 자동으로 시스템의 기존 registries.conf
설정에 추가됩니다.
이 절차에서는 quay
파일(.io를 정규화되지 않은 검색 레지스트리(OpenShift Container Platform이 레지스트리 이름을 포함하지 않는 이미지 이름을 가져오려는 경우)로 추가하는 registries.
d/etc/containers/registries/99-worker-unqualified-search-registries.conf
)을 생성하는 방법을 설명합니다. 여기에는 다음과 같이 검사할 수 있는 base64로 인코딩된 콘텐츠가 포함되어 있습니다.
$ echo dW5xdWFsaWZpZWQtc2VhcmNoLXJlZ2lzdHJpZXMgPSBbJ3JlZ2lzdHJ5LmFjY2Vzcy5yZWRoYXQuY29tJywgJ2RvY2tlci5pbycsICdxdWF5LmlvJ10K | base64 -d unqualified-search-registries = ['registry.access.redhat.com', 'docker.io', 'quay.io']
registries.conf
및 registries.d
디렉토리 파일의 형식은 container-registries.conf
man 페이지를 참조하십시오.
전제 조건
- 실행중인 OpenShift Container Platform 클러스터 (버전 4.4 이상)가 있어야합니다.
- 관리 권한이 있는 사용자로 클러스터에 로그인합니다.
절차
해당 파일의 인코딩된 base64 콘텐츠를 포함하여
/etc/containers/registries.conf.d/99-worker-unqualified-search-registries.conf
파일의 콘텐츠를 저장할 YAML 파일(myregistry.yaml
)을 만듭니다. 예를 들면 다음과 같습니다.$ cat > /tmp/myregistry.yaml <<EOF apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: 99-worker-unqualified-search-registries spec: config: ignition: version: 3.1.0 storage: files: - contents: source: data:text/plain;charset=utf-8;base64,dW5xdWFsaWZpZWQtc2VhcmNoLXJlZ2lzdHJpZXMgPSBbJ3JlZ2lzdHJ5LmFjY2Vzcy5yZWRoYXQuY29tJywgJ2RvY2tlci5pbycsICdxdWF5LmlvJ10K filesystem: root mode: 0644 path: /etc/containers/registries.conf.d/99-worker-unqualified-search-registries.conf EOF
머신 구성을 풀에 적용합니다.
$ oc apply -f /tmp/myregistry.yaml
새 머신 구성이 적용되고 노드가 저하된 상태에 있는지 확인합니다. 이 작업을 수행하는 데 몇 분 정도 걸릴 수 있습니다. 각 머신에 새 머신 구성이 성공적으로 적용되면 작업자 풀에 진행중인 업데이트가 표시됩니다.
$ oc get machineconfigpool
출력 예
NAME CONFIG UPDATED UPDATING DEGRADED MACHINECOUNT READYMACHINECOUNT UPDATEDMACHINECOUNT DEGRADEDMACHINECOUNT AGE master rendered-master-35 True False False 3 3 3 0 34m worker rendered-worker-d8 False True False 3 1 1 0 34m
변경 사항이 적용되었는지 확인하려면 작업자 노드에 로그인합니다.
$ oc get node | grep worker
출력 예
ip-10-0-0-1.us-east-2.compute.internal Ready worker 39m v0.0.0-master+$Format:%h$
$ oc debug node/ip-10-0-0-1.us-east-2.compute.internal
출력 예
Starting pod/ip-10-0-141-142us-east-2computeinternal-debug ... ...
sh-4.2# chroot /host sh-4.4# cat /etc/containers/registries.conf.d/99-worker-unqualified-search-registries.conf unqualified-search-registries = ['registry.access.redhat.com', 'docker.io', 'quay.io'] sh-4.4# exit