9.4. 이미지 단축 이름을 허용하는 레지스트리 추가 정보


이미지 단축 이름을 사용하면 pull spec 매개변수에 정규화된 도메인 이름을 포함하지 않고도 이미지를 검색할 수 있습니다.

예를 들어 registry.access.redhat.com/rhe7/etcd 대신 rhel7/etcd를 사용할 수 있습니다. image.config.openshift.io/cluster 사용자 정의 리소스(CR)를 편집하여 이미지의 단축 이름을 검색하기 위해 레지스트리를 추가할 수 있습니다.

전체 경로를 사용하지 않는 경우 단축 이름을 사용할 수 있습니다. 예를 들어 클러스터가 DNS가 자주 변경된 여러 내부 레지스트리를 참조하는 경우 각 변경 사항에 따라 가져오기 사양에서 정규화된 도메인 이름을 업데이트해야 합니다. 이 경우 이미지 단축 이름을 사용하는 것이 유용할 수 있습니다.

이미지를 풀하거나 푸시할 때 컨테이너 런타임은 image.config.openshift.io/cluster CR에서 registrySources 매개변수 아래에 나열된 레지스트리를 검색합니다. containerRuntimeSearchRegistries 매개변수 아래에 레지스트리 목록을 생성한 경우, 단축 이름으로 이미지를 가져오면 컨테이너 런타임에서 해당 레지스트리를 검색합니다.

9.4.1. 이미지의 짧은 이름을 사용하지 않는 경우

공용 레지스트리에 인증이 필요한 경우 이미지가 배포되지 않을 수 있으므로 공용 레지스트리에서 이미지 단축 이름을 사용하는 것이 좋습니다. 공용 레지스트리와 함께 정규화된 이미지 이름을 사용합니다.

Red Hat 내부 또는 개인 레지스트리는 일반적으로 이미지의 단축 이름을 사용할 수 있습니다.

각 공개 레지스트리에 다른 인증 정보가 필요하고 클러스터에 글로벌 풀 시크릿의 공개 레지스트리가 나열되지 않는 경우 containerRuntimeSearchRegistries 매개변수 아래에 여러 개의 공용 레지스트리를 나열할 수 없습니다.

인증이 필요한 퍼블릭 레지스트리의 경우 레지스트리에 글로벌 풀 시크릿에 저장된 인증 정보가 있는 경우에만 이미지의 단축 이름을 사용할 수 있습니다.

주의

containerRuntimeSearchRegistries 매개변수( registry.redhat.io,docker.ioquay.io 레지스트리 포함) 아래에 공용 레지스트리를 나열하는 경우 목록의 모든 레지스트리에 인증 정보를 노출하고 네트워크 및 레지스트리 공격이 발생할 위험이 있습니다. 글로벌 풀 시크릿에 정의된 대로 이미지를 가져오기 위해 하나의 풀 시크릿만 있을 수 있으므로 해당 시크릿은 해당 목록의 모든 레지스트리에 대해 인증하는 데 사용됩니다. 따라서 목록에 공용 레지스트리를 포함하는 경우 보안 위험이 발생합니다.

9.4.2. 이미지의 단축 이름을 허용하는 레지스트리 추가

image.config.openshift.io/cluster 사용자 정의 리소스(CR)를 편집하여 이미지의 단축 이름을 검색하기 위해 레지스트리를 추가할 수 있습니다. OpenShift Container Platform은 이 CR에 대한 변경 사항을 클러스터의 모든 노드에 적용합니다.

주의

allowedRegistries 매개변수를 정의할 때 명시적으로 나열되지 않은 경우 registry.redhat.io,quay.io 및 기본 OpenShift 이미지 레지스트리를 포함한 모든 레지스트리가 차단됩니다. 페이로드 이미지에 필요한 모든 레지스트리를 allowedRegistries 목록에 추가해야 합니다. 예를 들어 registry.redhat.io,quay.iointernalRegistryHostname 레지스트리를 나열합니다. 연결이 끊긴 클러스터의 경우 미러 레지스트리도 추가해야 합니다. 그러지 않으면 Pod 오류가 발생할 위험이 있습니다.

프로세스

  • 다음과 같이 project.config.openshift.io/cluster 사용자 정의 리소스를 편집합니다.

    $ oc edit image.config.openshift.io/cluster
    Copy to Clipboard Toggle word wrap

    다음은 image.config.openshift.io/cluster CR의 예입니다.

    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:
      allowedRegistriesForImport:
        - domainName: quay.io
          insecure: false
      additionalTrustedCA:
        name: myconfigmap
      registrySources:
        containerRuntimeSearchRegistries:
        - reg1.io
        - reg2.io
        - reg3.io
        allowedRegistries:
        - example.com
        - quay.io
        - registry.redhat.io
        - reg1.io
        - reg2.io
        - reg3.io
        - image-registry.openshift-image-registry.svc:5000
    ...
    status:
      internalRegistryHostname: image-registry.openshift-image-registry.svc:5000
    Copy to Clipboard Toggle word wrap
    1. 다음 명령을 실행하여 노드 목록을 가져옵니다.

      $ oc get nodes
      Copy to Clipboard Toggle word wrap

      출력 예

      NAME                STATUS   ROLES                  AGE   VERSION
      <node_name>         Ready    control-plane,master   37m   v1.27.8+4fab27b
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 노드에서 디버그 모드로 전환합니다.

      $ oc debug node/<node_name>
      Copy to Clipboard Toggle word wrap
    3. 메시지가 표시되면 chroot /host 를 터미널에 입력합니다.

      sh-4.4# chroot /host
      Copy to Clipboard Toggle word wrap

검증

  1. 다음 명령을 실행하여 레지스트리가 정책 파일에 추가되었는지 확인합니다.

    sh-5.1# cat /etc/containers/registries.conf.d/01-image-searchRegistries.conf
    Copy to Clipboard Toggle word wrap

    출력 예

    unqualified-search-registries = ['reg1.io', 'reg2.io', 'reg3.io']
    Copy to Clipboard Toggle word wrap

9.4.3. 이미지 레지스트리 액세스를 위한 추가 신뢰 저장소 구성

image.config.openshift.io/cluster 사용자 정의 리소스(CR)에 대한 이미지 레지스트리 액세스 중에 신뢰할 추가 CA(인증 기관)가 있는 구성 맵에 대한 참조를 추가할 수 있습니다.

사전 요구 사항

  • CA(인증 기관)는 PEM으로 인코딩되어야 합니다.

프로세스

  1. openshift-config 네임스페이스에 구성 맵을 생성한 다음 image.config.openshift.io CR의 AdditionalTrustedCA 매개변수에 구성 맵 이름을 사용합니다. 이렇게 하면 클러스터가 외부 이미지 레지스트리에 연결할 때 신뢰할 수 있는 CA가 추가됩니다.

    이미지 레지스트리 CA 구성 맵의 예

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: my-registry-ca
    data:
      registry.example.com: |
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
      registry-with-port.example.com..5000: |
        -----BEGIN CERTIFICATE-----
        ...
        -----END CERTIFICATE-----
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    data:registry.example.com:
    이 CA를 신뢰할 레지스트리의 호스트 이름의 예입니다.
    data:registry-with-port.example.com..5000:

    이 CA를 신뢰할 포트가 있는 레지스트리의 호스트 이름의 예입니다. 레지스트리에 registry-with-port.example.com:5000 과 같은 포트가 있는 경우:.. 로 교체해야 합니다.

    PEM 인증서 콘텐츠는 신뢰할 각 추가 레지스트리 CA의 값입니다.

  2. 선택 사항: 다음 명령을 실행하여 추가 CA를 구성합니다.

    $ oc create configmap registry-config --from-file=<external_registry_address>=ca.crt -n openshift-config
    Copy to Clipboard Toggle word wrap
    $ oc edit image.config.openshift.io cluster
    Copy to Clipboard Toggle word wrap
    spec:
      additionalTrustedCA:
        name: registry-config
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat