검색

13.7. 태그 및 이미지 메타데이터 가져오기

download PDF

외부 컨테이너 이미지 레지스트리의 이미지 리포지토리에서 태그 및 이미지 메타데이터를 가져오도록 이미지 스트림을 구성할 수 있습니다. 몇 가지 다른 방법을 사용하여 이 작업을 수행할 수 있습니다.

  • --from 옵션을 사용하여 oc import-image 명령을 사용하여 태그 및 이미지 정보를 수동으로 가져올 수 있습니다.

    $ oc import-image <image_stream_name>[:<tag>] --from=<docker_image_repo> --confirm

    예를 들면 다음과 같습니다.

    $ oc import-image my-ruby --from=docker.io/openshift/ruby-20-centos7 --confirm
    The import completed successfully.
    
    Name:			my-ruby
    Created:		Less than a second ago
    Labels:			<none>
    Annotations:		openshift.io/image.dockerRepositoryCheck=2016-05-06T20:59:30Z
    Docker Pull Spec:	172.30.94.234:5000/demo-project/my-ruby
    
    Tag	Spec					Created			PullSpec							Image
    latest	docker.io/openshift/ruby-20-centos7	Less than a second ago	docker.io/openshift/ruby-20-centos7@sha256:772c5bf9b2d1e8...	<same>

    --all 플래그를 추가하여 latest 대신 이미지의 모든 태그를 가져올 수도 있습니다.

  • OpenShift Container Platform의 대부분의 오브젝트와 마찬가지로 JSON 또는 YAML 정의를 파일에 작성하고 저장한 다음 CLI를 사용하여 오브젝트를 생성할 수도 있습니다. spec.dockerImageRepository 필드를 이미지의 Docker 가져오기 사양으로 설정합니다.

    apiVersion: "v1"
    kind: "ImageStream"
    metadata:
      name: "my-ruby"
    spec:
      dockerImageRepository: "docker.io/openshift/ruby-20-centos7"

    그런 다음 오브젝트를 생성합니다.

    $ oc create -f <file>

외부 Docker 레지스트리에서 이미지를 참조하는 이미지 스트림을 생성할 때 OpenShift Container Platform은 짧은 시간 내에 외부 레지스트리와 통신하여 이미지에 대한 최신 정보를 가져옵니다.

태그 및 이미지 메타데이터가 동기화되면 이미지 스트림 오브젝트는 다음과 유사합니다.

apiVersion: v1
kind: ImageStream
metadata:
  name: my-ruby
  namespace: demo-project
  selflink: /oapi/v1/namespaces/demo-project/imagestreams/my-ruby
  uid: 5b9bd745-13d2-11e6-9a86-0ada84b8265d
  resourceVersion: '4699413'
  generation: 2
  creationTimestamp: '2016-05-06T21:34:48Z'
  annotations:
    openshift.io/image.dockerRepositoryCheck: '2016-05-06T21:34:48Z'
spec:
  dockerImageRepository: docker.io/openshift/ruby-20-centos7
  tags:
    -
      name: latest
      annotations: null
      from:
        kind: DockerImage
        name: 'docker.io/openshift/ruby-20-centos7:latest'
      generation: 2
      importPolicy: {  }
status:
  dockerImageRepository: '172.30.94.234:5000/demo-project/my-ruby'
  tags:
    -
      tag: latest
      items:
        -
          created: '2016-05-06T21:34:48Z'
          dockerImageReference: 'docker.io/openshift/ruby-20-centos7@sha256:772c5bf9b2d1e8e80742ed75aab05820419dc4532fa6d7ad8a1efddda5493dc3'
          image: 'sha256:772c5bf9b2d1e8e80742ed75aab05820419dc4532fa6d7ad8a1efddda5493dc3'
          generation: 2

Add Tags to Image Streams에 언급된 대로 --scheduled=true 플래그를 oc tag 명령과 함께 설정하여 예약된 간격으로 외부 레지스트리를 쿼리하도록 태그 를 설정할 수 있습니다.

또는 태그 정의에서 importPolicy.scheduledtrue 로 설정할 수도 있습니다.

apiVersion: v1
kind: ImageStream
metadata:
  name: ruby
spec:
  tags:
  - from:
      kind: DockerImage
      name: openshift/ruby-20-centos7
    name: latest
    importPolicy:
      scheduled: true

13.7.1. 비보안 레지스트리에서 이미지 가져오기

자체 서명된 인증서로 서명된 인증서와 같은 비보안 이미지 레지스트리에서 태그 및 이미지 메타데이터를 가져오거나 HTTPS 대신 일반 HTTP를 사용하도록 이미지 스트림을 구성할 수 있습니다.

이를 구성하려면 openshift.io/image.insecureRepository 주석을 추가하고 true 로 설정합니다. 이 설정은 레지스트리에 연결할 때 인증서 검증을 바이패스합니다.

kind: ImageStream
apiVersion: v1
metadata:
  name: ruby
  annotations:
    openshift.io/image.insecureRepository: "true" 1
  spec:
    dockerImageRepository: my.repo.com:5000/myimage
1
openshift.io/image.insecureRepository 주석을 true로 설정합니다.
중요

이 옵션은 통합 레지스트리에 제공할 때 이미지 스트림에 태그된 외부 이미지에 대해 비보안 전송으로 대체하도록 지시합니다. 가능한 경우 istag 를 비보안으로 표시 하여 이 위험을 피하십시오.

중요

위의 정의는 태그 및 이미지 메타데이터 가져오기에만 영향을 미칩니다. 클러스터에서 이 이미지를 사용하려면 (예: docker pull) 다음 중 하나가 true여야 합니다.

  1. 각 노드에는 dockerImageRepository 의 레지스트리 부분과 일치하는 --insecure-registry 플래그를 사용하여 Docker가 구성되어 있습니다. 자세한 내용은 호스트 준비 를 참조하십시오.
  2. istag 사양은 referencePolicy.typeLocal 로 설정해야 합니다. 자세한 내용은 참조 정책을 참조하십시오.

13.7.1.1. 이미지 스트림 태그 정책

13.7.1.1.1. 비보안 태그 가져오기 정책

위의 주석은 특정 이미지 스트림 의 모든 이미지 및 태그에 적용됩니다. 세분화된 제어의 경우 정책을 istags 에 설정할 수 있습니다. 태그 정의에서 importPolicy.insecuretrue 로 설정하여 이 태그 아래의 이미지에서만 비보안 전송으로 대체를 허용합니다.

참고

특정 istag 의 이미지의 비보안 전송으로 대체가 활성화되어 있습니다. 이미지 스트림에 insecure로 주석이 달거나 istag 에 비보안 가져오기 정책이 있는 경우도 있습니다. false 로 설정된 importPolicy.insecure 는 이미지 스트림 주석을 덮어쓸 수 없습니다.

13.7.1.1.2. 참조 정책

참조 정책을 사용하면 이 이미지 스트림 태그를 참조하는 리소스가 이미지를 가져오는 위치를 지정할 수 있습니다. 외부 레지스트리에서 가져온 이미지에만 적용됩니다. 다음 두 가지 옵션을 선택할 수 있습니다. 로컬소스.

Source 정책은 클라이언트에 이미지의 소스 레지스트리에서 직접 가져오도록 지시합니다. 클러스터에서 이미지를 관리하지 않는 한 통합 레지스트리는 관련이 없습니다. (이 이미지는 외부 이미지가 아닙니다.) 이는 기본 정책입니다.

로컬 정책은 클라이언트가 항상 통합 레지스트리에서 가져오도록 지시합니다. 이는 Docker 데몬 설정을 수정하지 않고 외부 비보안 레지스트리에서 가져오려는 경우 유용합니다.

이 정책은 이미지 스트림 태그 사용에만 영향을 미칩니다. 외부 레지스트리 위치를 사용하여 이미지를 직접 참조하거나 가져오는 구성 요소 또는 작업은 내부 레지스트리로 리디렉션되지 않습니다.

레지스트리의 pull-through 기능은 클라이언트에 원격 이미지를 제공합니다. 기본적으로 이 기능은 로컬 참조 정책을 사용하려면 활성화해야 합니다. 또한 나중에 더 빠르게 액세스할 수 있도록 기본적으로 모든 Blob이 미러링됩니다.Additionally, by default, all the blobs are mirrored for faster access later.

이미지 스트림 태그 사양에서 정책을 referencePolicy.type 으로 설정할 수 있습니다.

로컬 참조 정책이 포함된 보안 태그의 예

kind: ImageStream
apiVersion: v1
metadata:
  name: ruby
  tags:
  - from:
      kind: DockerImage
      name: my.repo.com:5000/myimage
    name: mytag
    importPolicy:
      insecure: true 1
    referencePolicy:
      type: Local 2

1
해당 레지스트리에 비보안 연결을 사용하도록 태그 mytag 를 설정합니다.
2
외부 이미지를 가져오는 데 통합 레지스트리를 사용하도록 태그 mytag 를 설정합니다. 참조 정책 유형이 Source 로 설정된 경우 클라이언트는 my.repo.com:5000/myimage 에서 이미지를 직접 가져옵니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.