11.2. 가져올 수 있는 레지스트리 구성
다음 예에 설명된 대로 imagePolicyConfig:allowedRegistriesForImport
섹션의 master-config.yaml 에서 가져올 수 있는 레지스트리를 구성할 수 있습니다. 설정이 없으면 모든 이미지가 허용되며 이는 기본값입니다.
예 11.1. 가져올 수 있는 레지스트리 구성 예
imagePolicyConfig: allowedRegistriesForImport: - domainName: registry.redhat.io 1 - domainName: *.mydomain.com insecure: true 2 - domainName: local.registry.corp:5000 3
각 규칙은 다음 특성으로 구성됩니다.
-
domainname
: 특수 와일드카드 문자 (?
,*
)가 인식되는:<port>
접미사가 선택적으로 종료되는 호스트 이름입니다. 전자는 모든 길이의 문자 시퀀스와 일치하고, 나중에는 정확히 하나의 문자와 일치합니다. 와일드카드 문자는:
구분 기호 앞뒤로 존재할 수 있습니다. 와일드카드는 구분 기호의 존재 여부와 관계없이 구분 기호 앞뒤 부분에만 적용됩니다. -
insecure
:domainName
에서:<port>
부분이 누락된 경우 일치하는 포트를 결정하는 데 사용되는 부울입니다. true인 경우, 비보안 플래그를 가져오는 동안에는domainName
이:80
접미사 또는 지정되지 않은 포트가 있는 레지스트리와 일치합니다. false인 경우접미사
또는 지정되지 않은 포트가 있는 레지스트리가 일치합니다.
규칙이 동일한 도메인의 보안 및 비보안 포트와 일치해야 하는 경우 규칙이 두 번 나열되어야 합니다(insecure =true로 한 번,
를 한 번 사용).
insecure=
false
정규화되지 않은 이미지 참조는 규칙 평가 전에 docker.io
에 자격을 부여합니다. 허용 목록에 domainName: docker.io
를 사용합니다.
domainname: *
규칙은 모든 레지스트리 호스트 이름과 일치하지만 포트는 여전히 443
으로 제한됩니다. 임의의 포트에서 임의의 레지스트리 서비스를 제공하는 것과 일치하려면 domainName: *: *
를 사용합니다.
가져올 수 있는 레지스트리의 예제 구성에 설정된 규칙에 따라:
-
oc tag --insecure reg.mydomain.com/app:v1 app:v1
은mydomain.com 규칙을 처리하여 허용 목록에 표시됩니다.
-
oc import-image --from reg1.mydomain.com:80/foo foo:latest
도 허용 목록에 표시됩니다. -
포트가 세 번째 규칙의
5000
과 일치하지 않기 때문에oc tag local.registry.corp/bar bar:latest
가 거부됩니다.
거부된 이미지 가져오기는 다음 텍스트와 유사한 오류 메시지를 생성합니다.
The ImageStream "bar" is invalid: * spec.tags[latest].from.name: Forbidden: registry "local.registry.corp" not allowed by whitelist: "local.registry.corp:5000", "*.mydomain.com:80", "registry.redhat.io:443" * status.tags[latest].items[0].dockerImageReference: Forbidden: registry "local.registry.corp" not allowed by whitelist: "local.registry.corp:5000", "*.mydomain.com:80", "registry.redhat.io:443"