검색

3.5.2. 이미지 스트림

download PDF

이미지 스트림 및 관련 태그는 OpenShift Container Platform 내에서 컨테이너 이미지를 참조하기 위한 추상화를 제공합니다. 이미지 스트림 및 해당 태그를 사용하면 사용 가능한 이미지를 볼 수 있으며 리포지터리의 이미지가 변경되어도 필요한 특정 이미지를 사용하도록 할 수 있습니다.

이미지 스트림에는 실제 이미지 데이터가 포함되어 있지 않지만 이미지 리포지터리와 유사하게 관련 이미지에 대한 단일 가상 뷰가 있습니다.

새 이미지가 추가되는 경우 이미지 스트림에서 알림을 보고 빌드 또는 배포를 각각 수행하여 대응하도록 빌드 및 배포를 구성할 수 있습니다.

예를 들어 배포에서 특정 이미지를 사용하고 있는데 해당 이미지의 새 버전이 생성되는 경우 배포가 자동으로 수행되어 새 버전의 이미지를 가져올 수 있습니다.

그러나 배포 또는 빌드에서 사용하는 이미지 스트림 태그가 업데이트되지 않으면 컨테이너 이미지 레지스트리의 컨테이너 이미지가 업데이트되어도 빌드 또는 배포에서 이전(알려진 정상) 이미지를 계속 사용합니다.

소스 이미지를 저장할 수 있는 위치는 다음과 같습니다.

  • OpenShift Container Platform의 통합 레지스트리
  • 외부 레지스트리(예: registry.redhat.io 또는 hub.docker.com)
  • OpenShift Container Platform 클러스터의 기타 이미지 스트림

이미지 스트림 태그(예: 빌드 또는 배포 구성)를 참조하는 오브젝트를 정의하는 경우 Docker 리포지토리가 아닌 이미지 스트림 태그를 가리킵니다. 애플리케이션을 빌드하거나 배포할 때 OpenShift Container Platform은 이미지 스트림 태그를 사용하여 Docker 리포지토리를 쿼리하여 관련 이미지 ID를 찾고 바로 그 이미지를 사용합니다.

이미지 스트림 메타데이터는 다른 클러스터 정보와 함께 etcd 인스턴스에 저장됩니다.

다음 이미지 스트림에는 두 개의 태그가 포함되어 있습니다. 34 Python v3.4 이미지와 35 를 가리켜 Python v3.5 이미지를 가리킵니다.

$ oc describe is python

출력 예

Name:			python
Namespace:		imagestream
Created:		25 hours ago
Labels:			app=python
Annotations:		openshift.io/generated-by=OpenShiftWebConsole
			openshift.io/image.dockerRepositoryCheck=2017-10-03T19:48:00Z
Docker Pull Spec:	docker-registry.default.svc:5000/imagestream/python
Image Lookup:		local=false
Unique Images:		2
Tags:			2

34
  tagged from centos/python-34-centos7

  * centos/python-34-centos7@sha256:28178e2352d31f240de1af1370be855db33ae9782de737bb005247d8791a54d0
      14 seconds ago

35
  tagged from centos/python-35-centos7

  * centos/python-35-centos7@sha256:2efb79ca3ac9c9145a63675fb0c09220ab3b8d4005d35e0644417ee552548b10
      7 seconds ago

이미지 스트림을 사용하면 다음과 같은 여러 중요한 이점이 있습니다.

  • 명령줄을 사용하여 다시 푸시하지 않고도 태그하고, 태그를 롤백하고, 이미지를 빠르게 처리할 수 있습니다.
  • 새 이미지가 레지스트리로 푸시되면 빌드 및 배포를 트리거할 수 있습니다. 또한 OpenShift Container Platform에는 다른 리소스(예: Kubernetes 오브젝트)에 대한 일반 트리거가 있습니다.
  • 정기적인 다시 가져오기를 위해 태그를 표시할 수 있습니다. 소스 이미지가 변경되면 해당 변경 사항이 이미지 스트림에 반영되며, 이 변경 사항은 빌드 또는 배포 구성에 따라 빌드 및/또는 배포 흐름을 트리거합니다.
  • 세분화된 액세스 제어를 사용하여 이미지를 공유하고 팀 전체에 이미지를 빠르게 배포할 수 있습니다.
  • 소스 이미지가 변경되면 이미지 스트림 태그는 계속 알려진 양호한 버전의 이미지를 가리키므로 애플리케이션이 예기치 않게 손상되지 않도록 합니다.
  • 이미지 스트림 오브젝트에 대한 권한을 통해 이미지를 보고 사용할 수 있는 사람에 대한 보안을 구성할 수 있습니다.
  • 클러스터 수준에서 이미지를 읽거나 나열할 수 있는 권한이 없는 사용자도 이미지 스트림을 사용하여 프로젝트의 태그된 이미지를 검색할 수 있습니다.

조정된 이미지 스트림 세트는 OpenShift Image Streams 및 Templates 라이브러리 를 참조하십시오.

이미지 스트림을 사용할 때는 이미지 스트림 태그가 가리키는 사항과 태그 및 이미지를 변경하는 방법을 이해해야 합니다. 예를 들면 다음과 같습니다.

  • 이미지 스트림 태그가 컨테이너 이미지 태그를 가리키는 경우 컨테이너 이미지 태그 업데이트 방법을 이해해야 합니다. 예를 들어 컨테이너 이미지 태그 docker.io/ruby:2.5 는 v2.5 ruby 이미지를 가리키지만 컨테이너 이미지 태그 docker.io/ruby:latest 는 주요 버전에서 변경됩니다. 따라서 이미지 스트림 태그가 가리키는 컨테이너 이미지 태그는 이미지 스트림 태그의 안정성을 나타낼 수 있습니다.
  • 이미지 스트림 태그가 컨테이너 이미지 태그를 직접 가리키는 대신 다른 이미지 스트림 태그를 따르는 경우 나중에 다른 이미지 스트림 태그를 따르도록 이미지 스트림 태그를 업데이트할 수 있습니다. 이러한 변경으로 인해 호환되지 않는 버전 변경이 발생할 수 있습니다.

3.5.2.1. 중요한 용어

Docker 리포지토리

관련 컨테이너 이미지와 이를 식별하는 태그의 컬렉션입니다. 예를 들어 OpenShift Jenkins 이미지는 Docker 리포지토리에 있습니다.

docker.io/openshift/jenkins-2-centos7
컨테이너 레지스트리

Docker 리포지토리에서 이미지를 저장하고 서비스할 수 있는 콘텐츠 서버입니다. 예를 들면 다음과 같습니다.

registry.redhat.io
컨테이너 이미지
컨테이너로 실행할 수 있는 특정 콘텐츠 세트입니다. 일반적으로 Docker 리포지토리 내의 특정 태그와 연결됩니다.
컨테이너 이미지 태그
특정 이미지를 구분하는 리포지토리의 컨테이너 이미지에 적용되는 레이블입니다. 예를 들어, 여기에서 3.6.0 은 태그입니다.
docker.io/openshift/jenkins-2-centos7:3.6.0
참고

언제든지 새 컨테이너 이미지 콘텐츠를 가리키도록 컨테이너 이미지 태그를 업데이트할 수 있습니다.

컨테이너 이미지 ID
이미지를 가져오는 데 사용할 수 있는 SHA(Secure Hash Algorithm) 코드입니다. 예를 들면 다음과 같습니다.
docker.io/openshift/jenkins-2-centos7@sha256:ab312bda324
참고

SHA 이미지 ID는 변경할 수 없습니다. 특정 SHA 식별자는 항상 정확히 동일한 컨테이너 이미지 콘텐츠를 참조합니다.

이미지 스트림
태그로 식별되는 Docker 형식 컨테이너 이미지의 포인터가 포함된 OpenShift Container Platform 오브젝트입니다. 이미지 스트림을 Docker 리포지토리에 해당하는 것으로 간주할 수 있습니다.
이미지 스트림 태그
이미지 스트림의 이미지에 대한 명명된 포인터. 이미지 스트림 태그는 컨테이너 이미지 태그와 유사합니다. 아래 이미지 스트림 태그를 참조하십시오.
이미지 스트림 이미지
태그된 특정 이미지 스트림에서 특정 컨테이너 이미지를 검색할 수 있는 이미지입니다. 이미지 스트림 이미지는 특정 이미지 SHA 식별자에 대한 일부 메타데이터를 함께 가져오는 API 리소스 오브젝트입니다. 아래 이미지 스트림 이미지를 참조하십시오.
이미지 스트림 트리거
이미지 스트림 태그가 변경되면 특정 작업을 수행하는 트리거입니다. 예를 들어 가져오기로 인해 태그 값이 변경되고 이어서 해당 태그를 수신하는 배포, 빌드 또는 기타 리소스에서 트리거가 실행될 수 있습니다. 아래 이미지 스트림 트리거 를 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.