Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

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
1
지정된 보안 레지스트리의 이미지를 허용합니다.
2
mydomain.com 의 하위 도메인에서 호스팅되는 비보안 레지스트리의 이미지를 허용합니다. mydomain.com 은 허용 목록에 없습니다.
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:v1mydomain.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"