9.2.2. 특정 레지스트리 차단
image.config.openshift.io/cluster
사용자 정의 리소스(CR)를 편집하여 레지스트리를 차단할 수 있습니다. OpenShift Container Platform은 이 CR에 대한 변경 사항을 클러스터의 모든 노드에 적용합니다.
이미지를 풀하거나 푸시할 때 컨테이너 런타임은 image.config.openshift.io/cluster
CR에서 registrySources
매개변수 아래에 나열된 레지스트리를 검색합니다. blockedRegistries
매개변수 아래에 레지스트리 목록을 생성한 경우 컨테이너 런타임에서 해당 레지스트리를 검색하지 않습니다. 다른 모든 레지스트리는 허용됩니다.
Pod 실패를 방지하려면 환경의 페이로드 이미지에서 필요한 registry.redhat
레지스트리를 .io
및 quay.ioblockedRegistries
목록에 추가하지 마십시오.
절차
다음과 같이
project.config.openshift.io/cluster
CR을 편집합니다.$ oc edit image.config.openshift.io/cluster
다음은 차단 목록이 포함된
image.config.openshift.io/cluster
리소스의 예입니다.apiVersion: config.openshift.io/v1 kind: Image metadata: annotations: release.openshift.io/create-only: "true" creationTimestamp: "2019-05-17T13:44:26Z" generation: 1 name: cluster resourceVersion: "8302" selfLink: /apis/config.openshift.io/v1/images/cluster uid: e34555da-78a9-11e9-b92b-06d6c7da38dc spec: registrySources: 1 blockedRegistries: 2 - untrusted.com status: internalRegistryHostname: image-registry.openshift-image-registry.svc:5000
참고blockedRegistries
레지스트리 또는allowedRegistries
레지스트리 중 하나를 설정할 수 있지만 둘 다 설정할 수는 없습니다.MCO(Machine Config Operator)는
image.config.openshift.io/cluster
리소스를 통해 레지스트리에 대한 변경 사항을 확인합니다. MCO가 변경사항을 감지하면 노드를 비우고, 변경 사항을 적용한 다음 노드를 분리합니다. 노드가Ready
상태가 되면 차단된 레지스트리에 대한 변경이 각 노드의/etc/containers/registries.conf
파일에 표시됩니다.레지스트리가 정책 파일에 추가되었는지 확인하려면 노드에서 다음 명령을 사용하십시오.
$ cat /host/etc/containers/registries.conf
다음 예에서는
untrusted.com
레지스트리의 이미지가 이미지 풀 및 푸시를 위해 비활성화되어 있음을 나타냅니다.출력 예
unqualified-search-registries = ["registry.access.redhat.com", "docker.io"] [[registry]] prefix = "" location = "untrusted.com" blocked = true