KR20170133120A - 컨테이너 이미지 관리 시스템 및 방법 - Google Patents

컨테이너 이미지 관리 시스템 및 방법 Download PDF

Info

Publication number
KR20170133120A
KR20170133120A KR1020160064152A KR20160064152A KR20170133120A KR 20170133120 A KR20170133120 A KR 20170133120A KR 1020160064152 A KR1020160064152 A KR 1020160064152A KR 20160064152 A KR20160064152 A KR 20160064152A KR 20170133120 A KR20170133120 A KR 20170133120A
Authority
KR
South Korea
Prior art keywords
image
container
remote storage
storage
stored
Prior art date
Application number
KR1020160064152A
Other languages
English (en)
Inventor
정찬훈
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020160064152A priority Critical patent/KR20170133120A/ko
Priority to US15/603,591 priority patent/US10656845B2/en
Priority to CN201710377064.7A priority patent/CN107436794A/zh
Publication of KR20170133120A publication Critical patent/KR20170133120A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • G06F17/302
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • G06F17/30212
    • G06F17/30233
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Processing Or Creating Images (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

컨테이너 이미지 관리 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템은 컨테이너 이미지를 저장 및 관리하는 원격 스토리지; 상기 원격 스토리지에 저장된 상기 컨테이너 이미지 저장 영역을 마운트하고, 마운트된 상기 이미지 저장 영역으로부터 상기 컨테이너 이미지를 읽어들여 컨테이너를 생성하는 컨테이너 엔진; 및 생성된 상기 컨테이너의 읽기-쓰기 레이어(Read-Write Layer)를 저장하는 로컬 스토리지를 포함한다.

Description

컨테이너 이미지 관리 시스템 및 방법{SYSTEM AND MEHTOD FOR MANAGING CONTAINER IMAGE}
본 발명의 실시예들은 컨테이너 서비스 운영 환경에서 컨테이너 이미지를 관리하기 위한 기술과 관련된다.
최근 들어, 애플리케이션 개발 및 배포에 컨테이너(container)의 활용이 급속히 증가하고 있다. 또한 복수의 노드(node)에서 다수의 컨테이너를 운용하기 위한 오케스트레이션(orchestration) 기술의 활용 또한 증가하고 있다.
컨테이너 서비스(container service)에 있어 컨테이너의 이미지(image)는 가장 중요한 관리 대상 중 하나이다. 그러나 종래의 컨테이너 이미지 운용 및 관리 기술의 경우 스토리지 자원의 낭비가 많을 뿐 아니라, 보안적인 측면에서도 취약점이 존재하였다. 따라서 컨테이너 이미지를 효과적으로 관리하기 위한 방안이 필요하게 되었다.
대한민국 공개특허공보 제10-2015-0109692호 (2015. 10. 02.)
본 발명의 실시예들은 컨테이너 이미지를 저장 및 운용하는데 소요되는 스토리지 자원의 소모를 감소시킬 수 있는 효과적인 컨테이너 이미지 관리 방안을 제공하기 위한 것이다.
또한 본 발명의 실시예들은 컨테이너 이미지의 보안성을 향상할 수 있는 컨테이너 이미지 관리 방안을 제공하기 위한 것이다.
예시적인 실시예에 따르면, 컨테이너 이미지를 저장 및 관리하는 원격 스토리지; 상기 원격 스토리지에 저장된 상기 컨테이너 이미지 저장 영역을 마운트하고, 마운트된 상기 이미지 저장 영역으로부터 상기 컨테이너 이미지를 읽어들여 컨테이너를 생성하는 컨테이너 엔진; 및 생성된 상기 컨테이너의 읽기-쓰기 레이어(Read-Write Layer)를 저장하는 로컬 스토리지를 포함하는 컨테이너 이미지 관리 시스템이 제공된다.
상기 컨테이너 엔진은, 상기 이미지 저장 영역을 읽기 전용(read-only)으로 마운트할 수 있다.
상기 컨테이너 이미지 관리 시스템은, 상기 원격 스토리지에 저장된 상기 컨테이너 이미지의 생성, 수정 및 삭제 중 하나 이상을 수행하는 이미지 매니저를 더 포함할 수 있다.
상기 이미지 매니저는, 상기 컨테이너 이미지의 수정이 요청되는 경우, 상기 원격 스토리지로 상기 컨테이너 이미지의 사본 생성을 요청하고, 생성된 상기 이미지의 사본을 이용하여 상기 이미지를 수정할 수 있다.
상기 원격 스토리지는, 상기 이미지 매니저가 상기 이미지의 사본에 대한 수정을 완료한 경우, 수정된 상기 이미지의 사본으로 상기 컨테이너 이미지를 대체하고, 상기 컨테이너 엔진으로 컨테이너 재시작을 요청하며, 상기 재시작 요청을 수신한 상기 컨테이너 엔진은, 대체된 상기 컨테이너 이미지를 읽어들여 상기 컨테이너를 재시작할 수 있다.
상기 이미지 매니저는, 상기 원격 스토리지에 저장된 상기 컨테이너 이미지에 대응되는 네임 및 태그 정보를 관리할 수 있다.
상기 컨테이너 이미지 관리 시스템은, 상기 원격 스토리지에 저장된 상기 컨테이너 이미지의 원본이 저장되는 이미지 레지스트리; 및 상기 이미지 원본에 대응되는 검증값을 저장 및 관리하는 검증 서버를 더 포함할 수 있다.
상기 이미지 매니저는, 상기 검증 서버를 이용하여 상기 이미지 레지스트리에 저장된 상기 이미지 원본에 대한 무결성 검증을 수행하고, 상기 무결성 검증이 성공한 경우, 상기 이미지 원본을 상기 원격 스토리지에 복사할 수 있다.
다른 예시적인 실시예에 따르면, 컨테이너 엔진에서, 컨테이너 이미지가 저장된 원격 스토리지의 컨테이너 이미지 저장 영역을 마운트하는 단계; 상기 컨테이너 엔진에서, 마운트된 상기 이미지 저장 영역으로부터 상기 컨테이너 이미지를 읽어들여 컨테이너를 생성하는 단계; 및 상기 컨테이너 엔진에서, 생성된 상기 컨테이너의 읽기-쓰기 레이어(Read-Write Layer)를 로컬 스토리지에 저장하는 단계를 포함하는, 컨테이너 이미지 관리 방법이 제공된다.
상기 마운트하는 단계는, 상기 이미지 저장 영역을 읽기 전용(read-only)으로 마운트하도록 구성될 수 있다.
상기 방법은, 상기 저장하는 단계의 수행 이후, 이미지 매니저에서, 상기 원격 스토리지에 저장된 상기 컨테이너 이미지를 수정하는 단계를 더 포함할 수 있다.
상기 수정하는 단계는, 상기 원격 스토리지로 상기 컨테이너 이미지의 사본 생성을 요청하고, 생성된 상기 이미지의 사본을 이용하여 상기 이미지를 수정하도록 구성될 수 있다.
상기 원격 스토리지는, 상기 이미지 매니저가 상기 이미지의 사본에 대한 수정을 완료한 경우, 수정된 상기 이미지의 사본으로 상기 컨테이너 이미지를 대체하고, 상기 컨테이너 엔진으로 컨테이너 재시작을 요청하며, 상기 재시작 요청을 수신한 상기 컨테이너 엔진은, 대체된 상기 컨테이너 이미지를 읽어들여 상기 컨테이너를 재시작할 수 있다.
상기 방법은, 상기 마운트하는 단계의 수행 이전, 이미지 매니저에서, 이미지 레지스트리에 저장된 상기 컨테이너 이미지의 원본에 대한 무결성 검증을 수행하는 단계; 및 상기 무결성 검증이 성공한 경우, 상기 이미지 매니저에서, 상기 이미지 원본을 상기 원격 스토리지에 복사하는 단계를 더 포함할 수 있다.
상기 이미지 매니저는, 상기 이미지 원본에 대응되는 검증값을 저장 및 관리하는 검증 서버로부터 상기 이미지 원본의 검증값을 획득하고, 획득된 상기 검증값을 이용하여 상기 이미지의 원본에 대한 무결성 검증을 수행할 수 있다.
본 발명의 실시예들에 따르면, 컨테이너 이미지에 대한 중앙화된 제어를 통하여 컨테이너 이미지를 저장 및 운용하는데 소요되는 스토리지 자원의 소모를 감소시킬 수 있을 뿐 아니라, 컨테이너 이미지의 위변조를 방지하여 이미지의 보안성을 향상할 수 있다.
도 1은 본 발명의 일 실시예에 따른 컨테이너 이미지를 설명하기 위한 예시도
도 2는 본 발명의 일 실시예에 따른 컨테이너 이미지로부터 생성된 컨테이너를 설명하기 위한 예시도
도 3은 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템을 설명하기 위한 블록도
도 4는 본 발명의 일 실시예에 따른 컨테이너 엔진이 원격 스토리지 및 로컬 스토리지와 연결된 상태를 설명하기 위한 예시도
도 5는 본 발명의 일 실시예에 따른 이미지 매니저에서 원격 스토리지에 저장된 컨테이너 이미지를 수정하는 과정을 설명하기 위한 예시도
도 6은 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템의 초기화 과정을 설명하기 위한 흐름도
도 7은 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템에서 컨테이너를 생성하는 과정을 설명하기 위한 흐름도
도 8은 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템에서 컨테이너 이미지의 무결성을 검증하는 과정을 설명하기 위한 흐름도
도 9는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 컨테이너 이미지를 설명하기 위한 예시도이다. 본 발명의 실시예들에서 컨테이너란, 실행하고자 하는 애플리케이션 및 상기 애플리케이션을 구동하는 데 필요한 종속물, 예를 들어 라이브러리, 시스템 도구, 런타임 환경(runtime environment)등을 함께 패키징하여 제공하는 소프트웨어 제공 기술을 의미한다. 이러한 컨테이너는 운영체제의 커널(kernel)을 포함하지 않으므로 종래의 가상 머신(virtual machine)과 비교하여 빠르고 민첩하며 더 적은 자원을 사용한다는 장점이 있다. 컨테이너와 컨테이너 이미지와의 관계는 프로세스(process)와 실행 파일의 관계와 동일하다. 다시 말해, 컨테이너를 구성하는 각 요소들이 스토리지 내에 정적으로 존재하는 경우 이를 컨테이너 이미지(container image)라 칭하며, 해당 컨테이너 이미지가 실제 메모리에 로드되어 프로세스 상태가 된 경우 이를 컨테이너라고 칭한다.
본 발명의 실시예들에서, 컨테이너 이미지는 복수의 레이어(layer)로 구성된다. 예를 들어, 도 1에 도시된 바와 같이 컨테이너 이미지 A는 레이어 a, 레이어b, 레이어 c 및 레이어 d를 포함하도록 구성된다. 또한, 컨테이너 이미지 B는 레이어 a, 레이어 b 및 레이어 e를 포함하며, 컨테이너 이미지 C는 베이스 레이어 a, 레이어 f 및 레이어 g를 포함하도록 구성된다. 이미지를 구성하는 복수의 레이어들은 이미지가 컨테이너가 되는 과정에서 유니온 파일시스템(Union Filesystem) 등을 이용하여 하나의 파일 시스템으로 합쳐지게 된다.
레이어 a와 같이 이미지의 가장 하단에 존재하는 레이어는 통상 베이스 레이어(base layer)로 불린다. 베이스 레이어는 루트 파일시스템(root filesystem) 등 컨테이너의 구동에 필요한 제반 요소들을 포함하고 있어 비교적 많은 양의 스토리지 자원을 소모한다. 특히, 베이스 레이어는 주로 작은 크기를 가지는 파일들을 매우 많이 포함하고 있는 바, 일반적인 데이터와 비교하여 블록 사이즈 대비 아이노드(inode)의 소모가 많다. 아이노드의 경우 대부분 파일 시스템을 포맷할 때 그 크기가 정해지므로, 아주 특별한 경우를 제외하면 시스템의 운영 중에 이를 변경하는 것이 불가능하다.
도 1에 도시된 바와 같이, 각각의 컨테이너 이미지들은 동일한 레이어를 공통으로 사용할 수 있다. 예를 들어, 레이어 a는 이미지 A, B, C 모두에서 공통으로 사용되며, 레이어 b는 이미지 A 및 B에서 공통으로 사용된다.
도 2는 본 발명의 일 실시예에 따른 컨테이너 이미지로부터 생성된 컨테이너를 설명하기 위한 예시도이다. 도시된 예시도에서는 이미지 A로부터 컨테이너 A:1 및 A:2가, 이미지 B로부터 컨테이너 B:1이, 이미지 C로부터 컨테이너 C:1이 생성된 예를 나타내었다. 도시된 바와 같이, 하나의 컨테이너 이미지로부터 하나 이상의 컨테이너가 생성될 수 있다. 또한 도 2에 도시된 바와 같이, 이미지로부터 생성된 컨테이너는 최상단에 각각 읽기-쓰기 레이어(R/W Layer)를 포함한다. 읽기-쓰기 레이어는 해당 컨테이너에서 생성되거나 사용되는 데이터를 저장하기 위한 레이어이다.
동일 노드에서 복수 개의 컨테이너가 생성되는 경우, 각 컨테이너 별로 공통으로 사용되는 레이어들은 바인드 마운트(bind mount) 등을 통하여 공용으로 사용될 수 있다. 예를 들어, 컨테이너 A:1이 생성된 이후 컨테이너 A:2가 생성되는 경우, A:2를 구성하는 레이어 중 최상단의 RW Layer를 제외한 나머지 레이어들은 컨테이너 A:1로부터 읽기 전용(Read Only)으로 바인드 마운트되어 공용으로 사용된다. 마찬가지로, 컨테이너 B:1이 생성되는 경우에도 레이어 a 및 b는 컨테이너 A:1로부터 읽기 전용(Read Only)으로 바인드 마운트되어 공용으로 사용되며, 레이어 e 및 RW 레이어만이 실제 스토리지 내에 생성된다. 즉, 도 2에서는 빗금으로 표시한 레이어들만이 실제 스토리지 자원을 사용하게 된다.
도 3은 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템(300)을 설명하기 위한 블록도이다. 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템(300)은 컨테이너 이미지를 저장 및 관리하며, 이로부터 하나 이상의 컨테이너를 생성하여 운용하기 위한 시스템이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템(300)은 오케스트레이터(302), 원격 스토리지(304) 및 복수 개의 컨테이너 운용 노드(306)를 포함한다.
오케스트레이터(302)는 복수 개의 컨테이너 운용 노드(306)를 관리하며, 각 컨테이너 운용 노드(306)를 통하여 하나 이상의 컨테이너가 생성 및 구동될 수 있도록 한다. 일 실시예에서, 오케스트레이터(302)는 각 컨테이너 운용 노드로 컨테이너 실행 요청(request)을 송신하며, 이를 수신한 컨테이너 운용 노드는 요청된 컨테이너의 이미지를 이용하여 해당 컨테이너를 생성한다. 또한, 오케스트레이터(302)는 특정 컨테이너 운용 노드(306)에 이상이 발생하거나 하여 해당 노드에서 실행 중인 컨테이너의 동작이 정지되는 경우, 가용한 다른 노드를 이용하여 정지된 컨테이너가 다시 실행될 수 있도록 하는 장애 조치(failover) 기능을 수행한다.
원격 스토리지(304)는 하나 이상의 컨테이너 이미지를 저장 및 관리한다. 또한, 원격 스토리지(304)는 컨테이너 운용 노드(306)의 요청에 따라 상기 컨테이너 이미지를 컨테이너 운용 노드(306)에 제공한다.
복수 개의 컨테이너 운용 노드(306)는 오케스트레이터(302)로부터 컨테이너 실행 요청이 수신되는 경우, 원격 스토리지(304)에 저장된 컨테이너 이미지를 이용하여 요청된 컨테이너를 생성한다. 도시된 실시예에서는, N개의 컨테이너 운용 노드(306-1, 306-2, ..., 306-N)을 포함하는 예를 나타내었으나, 본 발명은 특정 개수의 컨테이너 운용 노드에 한정되는 것은 아니다. 본 발명의 실시예들에서, 컨테이너 운용 노드(306)는 각각 컨테이너 엔진(312) 및 로컬 스토리지(314)를 포함한다.
컨테이너 엔진(312)은 원격 스토리지(304)에 저장된 컨테이너 이미지 저장 영역을 마운트하고, 마운트된 이미지 저장 영역으로부터 컨테이너 이미지를 읽어들여 컨테이너를 생성한다. 본 발명의 실시예에서, 컨테이너 엔진(312)은 원격 스토리지(304)로부터 컨테이너 이미지를 다운로드하는 것이 아니라, 원격 스토리지(304)의 컨테이너 이미지 저장 영역을 마운트함으로써 원격 스토리지(304)에 저장된 컨테이너 이미지를 직접 실행하도록 구성된다. 이를 위하여, 원격 스토리지(302)는 HTTP/HTTPS 등의 통신 프로토콜이 아닌, 네이티브 파일시스템 인터페이스(native filesystem interface)를 통하여 각 컨테이너 운용 노드(306)와 연결될 수 있다. 이러한 네이티브 파일시스템 인터페이스는 운영체제의 커널 내 드라이버 레벨에서 구현되는 바, 상대적으로 중간자(man in the middle)에 의한 데이터 위변조의 위험이 적다는 장점이 있다.
한편, 본 발명의 실시예에서는 복수의 컨테이너 엔진(312)들이 하나의 원격 스토리지(304)의 이미지 저장 영역을 마운트하게 된다. 따라서 원격 스토리지(304)의 이미지 저장 영역은 하나 이상의 컨테이너 엔진(312)에 마운트될 수 있다. 이 경우 컨테이너 엔진(312)에 의하여 컨테이너 이미지가 변경되는 것을 방지하기 위하여, 각 컨테이너 엔진(312)은 이미지 저장 영역을 읽기 전용(read-only)으로 마운트하도록 구성될 수 있다.
로컬 스토리지(314)는 컨테이너 엔진(312)에 의하여 생성된 컨테이너의 읽기-쓰기 레이어(Read-Write Layer)를 저장한다. 즉, 본 발명의 실시예들에서 로컬 스토리지(314)는 컨테이너를 생성하기 위한 이미지 전체를 저장하는 것이 아니라 컨테이너의 최상단 레이어만을 저장하게 된다.
도 4는 본 발명의 일 실시예에 따른 컨테이너 엔진(312)이 원격 스토리지(304) 및 로컬 스토리지(314)와 연결된 상태를 설명하기 위한 예시도이다. 전술한 바와 같이, 본 발명의 실시예들에 따를 경우 컨테이너 이미지는 원격 스토리지(304)에만 저장되며, 로컬 스토리지(314)는 생성된 컨테이너의 읽기-쓰기 레이어 저장하게 된다. 따라서 각 컨테이너 운용 노드(306)는 컨테이너 이미지의 사본을 저장 및 관리할 필요가 없으므로, 로컬 스토리지(314)의 저장 공간을 효율적으로 관리할 수 있으며, 각 컨테이너 운용 노드(306)에서 컨테이너 이미지가 위변조되는 것을 방지할 수 있다.
한편, 본 발명의 일 실시예에 따른 컨테이너 엔진(312)은 하이브리드 형태로 동작할 수 있다. 예를 들어, 컨테이너 엔진(312)은 스탠드얼론 모드(standalone mode) 및 클러스터 모드(cluster mode) 중 어느 하나로 동작하도록 구성될 수 있다. 컨테이너 엔진(312)이 스탠드얼론 모드로 동작하는 경우, 컨테이너 엔진(312)은 원격 스토리지(304)로부터 컨테이너 이미지를 다운로드하여 로컬 스토리지(314)에 저장하고, 로컬 스토리지(314)에 저장된 컨테이너 이미지를 이용하여 컨테이너를 구동할 수 있다. 또한 컨테이너 엔진(312)이 클러스터 모드로 동작하는 경우, 컨테이넌 엔진(312)은 앞서 설명한 바와 같이 클러스터 운용 노드(306)의 스토리지 드라이버를 이용하여 원격 스토리지(304)를 노드의 가상 파일시스템으로 마운트하고, 원격 스토리지(304)로부터 컨테이너 이미지를 직접 읽어들여 클러스터를 구동하게 된다.
본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템(300)은 이미지 매니저(308), 이미지 레지스트리(310) 및 검증 서버(316)를 더 포함할 수 있다.
이미지 매니저(308)는 원격 스토리지(304)에 저장된 컨테이너 이미지의 생성, 수정 및 삭제 중 하나 이상을 수행한다.
도 5는 본 발명의 일 실시예에 따른 이미지 매니저(308)에서 원격 스토리지(304)에 저장된 컨테이너 이미지를 수정하는 과정을 설명하기 위한 예시도이다.
관리자 등으로부터 컨테이너 이미지의 수정이 요청되는 경우, 이미지 매니저(308)는 먼저 해당 컨테이너 이미지에 대한 락(lock)을 획득한다. 이를 위하여 이미지 매니저(308)는 원격 스토리지(304)로 수정 대상 컨테이너 이미지의 사본 생성을 요청하고, 상기 요청에 따라 생성된 이미지의 사본을 이용하여 이미지의 수정 작업을 수행한다. 도 4에 도시된 바와 같이, 본 발명의 실시예들에서 이미지의 수정은 실제 컨테이너 이미지가 아닌 컨테이너 이미지의 사본을 이용하여 수행되는 바, 이미지 수정 작업은 현재 운용중인 컨테이너에 영향을 미치지 않게 된다. 즉, 도 4에서 이미지 매니저(308)에 의한 이미지 수정은 컨테이너 운용 노드 1(306-1) 및 노드 2(306-2)에서 생성된 컨테이너에는 영향을 주지 않는다.
원격 스토리지(304)는 이미지 매니저(308)가 상기 이미지의 사본에 대한 수정을 완료한 경우, 수정된 상기 이미지의 사본으로 상기 컨테이너 이미지를 대체하고, 상기 해당 컨테이너 이미지를 사용 중인 각 노드에 컨테이너 재시작을 요청한다. 도 4의 예에서, 원격 스토리지(304)는 컨테이너 운용 노드 1(306-1) 및 노드 2(306-2)의 컨테이너 엔진(312-1, 312-2)으로 컨테이너 재시작을 요청하게 된다. 그러면 상기 요청을 수신한 컨테이너 엔진(312-1, 312-2)은 대체된 수정 및 대체된 상기 컨테이너 이미지를 읽어들여 컨테이너를 재시작한다.
한편, 이미지 매니저(308)는 원격 스토리지(304)에 저장된 컨테이너 이미지에 대응되는 네임 및 태그 정보를 관리한다. 원격 스토리지(304)에 저장되는 각 이미지들은 유일한 식별 정보(unique ID)를 가지고 있으나, 실제 운용시 각 이미지들은 다양한 이유로 각각의 식별 정보에 네임 및 태그 정보(Name:Tag)를 붙여 새로이 명명(alias)될 수 있다. 일반적으로 네임은 해당 이미지가 수행하는 기능에 따라 명명되며, 태그는 해당 이미지의 버전을 나타내도록 구성될 수 있다. 본 발명의 실시예에서는 이미지 매니저(308)에 의하여 일괄적으로 각 컨테이너 이미지의 네임 및 태그 정보를 관리함으로써 네임/태그 정보의 중복 또는 미스매칭(mismatching)을 방지할 수 있다.
다음으로, 이미지 레지스트리(310)는 원격 스토리지(304)에 저장된 컨테이너 이미지의 원본이 저장되는 스토리지이다. 또한, 검증 서버(316)는 이미지 레지스트리(310)에 저장된 이미지 원본에 대응되는 검증값을 저장 및 관리한다. 이때 상기 이미지 원본에 대응되는 검증값은 상기 이미지 원본의 해시값일 수 있다.
이미지 레지스트리(310)에 저장된 이미지 원본을 원격 스토리지(304)로 복사하기 위하여, 이미지 매니저(308)는 먼저 상기 이미지 원본에 대한 무결성 검증(integrity check)을 수행한다. 먼저 이미지 매니저(308)는 이미지 레지스트리(310)로부터 상기 이미지 원본을 획득하고 이에 대한 무결성 검증값(예를 들어, 이미지 원본에 대한 해시값)을 획득한다. 이후, 이미지 매니저(308)는 상기 검증값을 검증 서버(316)에 기 저장된 검증값과 비교하여 일치하는 경우 검증에 성공한 것으로 판단한다. 무결성 검증이 완료되면, 이미지 매니저(308)는 이미지 레지스트리(310)로부터 획득한 이미지 원본을 원격 스토리지(304)에 저장한다.
도 6은 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템(300)의 초기화 과정을 설명하기 위한 흐름도(600)이다. 도시된 흐름도는 컨테이너 엔진(312)이 클러스터 모드로 운용되는 것을 가정한 것이다.
단계 602에서, 컨테이너 엔진(312)은 오케스트레이터(302)로 접속 요청을 송신한다.
단계 604에서, 오케스트레이터(302)는 컨테이너 엔진(312)을 인증하여 컨테이너 엔진(312)의 접속을 승인한다.
단계 606에서, 오케스트레이터(302)는 접속된 컨테이너 엔진(312)으로 이미지 매니저(308)의 정보를 송신한다. 상기 이미지 매니저 정보는 이미지 매니저(308)의 네트워크 내 접속 정보일 수 있다.
단계 608에서, 컨테이너 엔진(312)은 수신된 정보를 이용하여 이미지 매니저(308)에 접속하고, 이미지 매니저(308)로 원격 스토리지(304)의 정보를 요청한다.
단계 610에서, 이미지 매니저(308)는 수신된 원격 스토리지 정보 요청을 원격 스토리지(304)로 전달한다.
단계 612에서, 원격 스토리지(304)는 상기 요청에 따라 원격 스토리지(308)의 정보를 이미지 매니저(308)로 송신하고, 단계 614에서 이미지 매니저(308)는 수신된 정보를 컨테이너 엔진(312)로 전달한다. 상기 원격 스토리지 정보는 원격 스토리지의 접속 정보 및 마운트 포인트 정보를 포함할 수 있다.
단계 616에서, 컨테이너 엔진(312)은 수신된 정보를 이용하여 원격 스토리지(304)의 이미지 저장 영역을 마운트한다.
도 7은 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템(300)에서 컨테이너를 생성하는 과정을 설명하기 위한 흐름도(700)이다.
단계 702에서, 오케스트레이터(302)는 컨테이너 엔진(312)으로 컨테이너의 생성을 요청한다.
단계 704에서, 상기 요청을 수신한 컨테이너 엔진(312)은 마운트된 원격 스토리지(304)의 이미지 저장 영역으로부터 컨테이너 이미지를 읽어들인다.
단계 706에서, 컨테이너 엔진(312)은 컨테이너 이미지를 이용하여 컨테이너를 생성한다.
단계 708에서, 컨테이너 엔진(312)은 생성된 컨테이너의 읽기-쓰기 레이어를 로컬 스토리지(314)에 저장한다.
도 8은 본 발명의 일 실시예에 따른 컨테이너 이미지 관리 시스템(300)에서 컨테이너 이미지의 무결성을 검증하는 과정을 설명하기 위한 흐름도(800)이다.
단계 802에서, 이미지 매니저(308)는 이미지 레지스트리(310)로부터 컨테이너 이미지 원본을 획득한다.
단계 804에서, 이미지 매니저(308)는 검증 서버(316)로부터 상기 컨테이너 이미지에 대응되는 검증값을 획득한다.
단계 806에서, 이미지 매니저(308)은 컨테이너 이미지 원본으로부터 계산된 검증값과 검증 서버(316)로부터 획득된 검증값을 비교하여 컨테이너 이미지 원본에 대한 무결성 검증을 수행한다.
단계 808에서, 무결성 검증이 완료되면, 이미지 매니저(308)는 이미지 레지스트리(310)로부터 획득한 이미지 원본을 원격 스토리지(304)에 저장한다.
도 9는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 컨테이너 이미지 관리 시스템(300을 구성하는 각 요소들, 예를 들어 오케스트레이터(302), 원격 스토리지(304), 컨테이너 운용 노드(306),이미지 매니저(308), 이미지 레지스트리(310) 또는 검증 서버(316)일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
300: 컨테이너 이미지 관리 시스템
302: 오케스트레이터
304: 원격 스토리지
306: 컨테이너 운용 노드
308: 이미지 매니저
310: 이미지 레지스트리
312: 컨테이너 엔진
314: 로컬 스토리지
316: 검증 서버

Claims (7)

  1. 컨테이너 이미지를 저장 및 관리하는 원격 스토리지;
    상기 원격 스토리지에 저장된 상기 컨테이너 이미지 저장 영역을 마운트하고, 마운트된 상기 이미지 저장 영역으로부터 상기 컨테이너 이미지를 읽어들여 컨테이너를 생성하는 컨테이너 엔진; 및
    생성된 상기 컨테이너의 읽기-쓰기 레이어(Read-Write Layer)를 저장하는 로컬 스토리지를 포함하는 컨테이너 이미지 관리 시스템.
  2. 청구항 1에 있어서,
    상기 원격 스토리지에 저장된 상기 컨테이너 이미지의 생성, 수정 및 삭제 중 하나 이상을 수행하는 이미지 매니저를 더 포함하는, 컨테이너 이미지 관리 시스템.
  3. 청구항 2에 있어서,
    상기 이미지 매니저는, 상기 컨테이너 이미지의 수정이 요청되는 경우,
    상기 원격 스토리지로 상기 컨테이너 이미지의 사본 생성을 요청하고, 생성된 상기 이미지의 사본을 이용하여 상기 이미지를 수정하는, 컨테이너 이미지 관리 시스템.
  4. 청구항 3에 있어서,
    상기 원격 스토리지는, 상기 이미지 매니저가 상기 이미지의 사본에 대한 수정을 완료한 경우, 수정된 상기 이미지의 사본으로 상기 컨테이너 이미지를 대체하고, 상기 컨테이너 엔진으로 컨테이너 재시작을 요청하며,
    상기 재시작 요청을 수신한 상기 컨테이너 엔진은, 대체된 상기 컨테이너 이미지를 읽어들여 상기 컨테이너를 재시작하는, 컨테이너 이미지 관리 시스템.
  5. 청구항 2에 있어서,
    상기 이미지 매니저는, 상기 원격 스토리지에 저장된 상기 컨테이너 이미지에 대응되는 네임 및 태그 정보를 관리하는, 컨테이너 이미지 관리 시스템.
  6. 청구항 2에 있어서,
    상기 원격 스토리지에 저장된 상기 컨테이너 이미지의 원본이 저장되는 이미지 레지스트리; 및
    상기 이미지 원본에 대응되는 검증값을 저장 및 관리하는 검증 서버를 더 포함하는, 컨테이너 이미지 관리 시스템.
  7. 청구항 6에 있어서,
    상기 이미지 매니저는, 상기 검증 서버를 이용하여 상기 이미지 레지스트리에 저장된 상기 이미지 원본에 대한 무결성 검증을 수행하고,
    상기 무결성 검증이 성공한 경우, 상기 이미지 원본을 상기 원격 스토리지에 복사하는, 컨테이너 이미지 관리 시스템.
KR1020160064152A 2016-05-25 2016-05-25 컨테이너 이미지 관리 시스템 및 방법 KR20170133120A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160064152A KR20170133120A (ko) 2016-05-25 2016-05-25 컨테이너 이미지 관리 시스템 및 방법
US15/603,591 US10656845B2 (en) 2016-05-25 2017-05-24 System and method for managing container image
CN201710377064.7A CN107436794A (zh) 2016-05-25 2017-05-25 容器图像管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160064152A KR20170133120A (ko) 2016-05-25 2016-05-25 컨테이너 이미지 관리 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20170133120A true KR20170133120A (ko) 2017-12-05

Family

ID=60417955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160064152A KR20170133120A (ko) 2016-05-25 2016-05-25 컨테이너 이미지 관리 시스템 및 방법

Country Status (3)

Country Link
US (1) US10656845B2 (ko)
KR (1) KR20170133120A (ko)
CN (1) CN107436794A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190067343A (ko) * 2017-12-07 2019-06-17 경희대학교 산학협력단 컨테이너 이주 방법, 상기 방법을 수행하기 위한 컴퓨팅 장치 및 컴퓨팅 시스템
KR20200098271A (ko) * 2019-02-12 2020-08-20 성균관대학교산학협력단 컨테이너 환경에서의 스토리지 드라이버의 동작 방법 및 스토리지 드라이버 장치
CN113474751A (zh) * 2019-05-14 2021-10-01 国际商业机器公司 管理软件程序
KR102591865B1 (ko) * 2023-07-05 2023-10-24 주식회사 이글루코퍼레이션 컨테이너 오케스트레이션을 위한 클라우드 데이터 검증 및 관리 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412945B2 (en) * 2011-08-09 2013-04-02 CloudPassage, Inc. Systems and methods for implementing security in a cloud computing environment
US10210322B2 (en) 2015-05-18 2019-02-19 Aqua Security Software, Ltd. Method and apparatus for applying application context security controls for software containers
US10013265B2 (en) * 2016-06-23 2018-07-03 International Business Machines Corporation Management of container host clusters
US10001990B2 (en) * 2017-10-26 2018-06-19 Iomaxis, Llc Method and system for enhancing application container and host operating system security in a multi-tenant computing environment
US10503441B2 (en) 2017-11-28 2019-12-10 Portworx, Inc. Resolving failed or hanging mount points in a clustered storage solution for containers
US11263098B2 (en) * 2018-07-02 2022-03-01 Pivotal Software, Inc. Database segment load balancer
US11620254B2 (en) * 2020-06-03 2023-04-04 International Business Machines Corporation Remote direct memory access for container-enabled networks
US11874926B2 (en) 2020-12-07 2024-01-16 Hewlett Packard Enterprise Development Lp Measuring containers
US11385888B1 (en) * 2021-01-20 2022-07-12 Vmware, Inc. Updating container runtime using standby virtual machines

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615365B1 (en) * 2000-03-11 2003-09-02 Powerquest Corporation Storing a computer disk image within an imaged partition
US8407700B2 (en) * 2009-03-03 2013-03-26 Symantec Corporation Methods and systems for merging virtualization sublayers
GB2483034A (en) * 2009-05-13 2012-02-22 Hewlett Packard Development Co System for virtual disks version control
US8132057B2 (en) * 2009-08-07 2012-03-06 International Business Machines Corporation Automated transition to a recovery kernel via firmware-assisted-dump flows providing automated operating system diagnosis and repair
US9075638B2 (en) * 2012-08-14 2015-07-07 Atlassian Corporation Pty Ltd. Efficient hosting of virtualized containers using read-only operating systems
US11132450B2 (en) * 2016-02-26 2021-09-28 Red Hat, Inc. Accessing file systems in a virtual environment

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190067343A (ko) * 2017-12-07 2019-06-17 경희대학교 산학협력단 컨테이너 이주 방법, 상기 방법을 수행하기 위한 컴퓨팅 장치 및 컴퓨팅 시스템
KR20200098271A (ko) * 2019-02-12 2020-08-20 성균관대학교산학협력단 컨테이너 환경에서의 스토리지 드라이버의 동작 방법 및 스토리지 드라이버 장치
CN113474751A (zh) * 2019-05-14 2021-10-01 国际商业机器公司 管理软件程序
CN113474751B (zh) * 2019-05-14 2024-01-09 勤达睿公司 管理软件程序
KR102591865B1 (ko) * 2023-07-05 2023-10-24 주식회사 이글루코퍼레이션 컨테이너 오케스트레이션을 위한 클라우드 데이터 검증 및 관리 방법

Also Published As

Publication number Publication date
US20170344289A1 (en) 2017-11-30
CN107436794A (zh) 2017-12-05
US10656845B2 (en) 2020-05-19

Similar Documents

Publication Publication Date Title
KR20170133120A (ko) 컨테이너 이미지 관리 시스템 및 방법
US10445122B2 (en) Effective and efficient virtual machine template management for cloud environments
CN101650660B (zh) 从中央存储装置引导计算机系统
US8516495B2 (en) Domain management and integration in a virtualized computing environment
US20200272440A1 (en) Container image building using dependency container images
US20110078681A1 (en) Method and system for running virtual machine image
US10838702B2 (en) Analyzing and optimizing container images in cloud computing
US10338910B2 (en) Multi-tenant upgrading
US10956232B2 (en) Instructing the use of application programming interface commands in a runtime environment
US8949590B2 (en) Controlling access to software component state
US11650804B2 (en) Validation of desired software state image for hardware incompatibilities
US11656864B2 (en) Automatic application of software updates to container images based on dependencies
US20110041119A1 (en) Storing z/os product tag information within z/os load module datasets
CN107667343B (zh) 用于加载按需加载资源的系统和方法
WO2020029995A1 (en) Application upgrading through sharing dependencies
US20240152371A1 (en) Dynamic re-execution of parts of a containerized application pipeline
US11983147B2 (en) Deduplicating data integrity checks across systems
US20240078099A1 (en) Optimizing computer-based compilation
US11977957B2 (en) Quantum computing program compilation using cached compiled quantum circuit files
US11323331B2 (en) Cloud server and operating method of the same
US20240143366A1 (en) Runtime and Storage Driver Selection for Containers in Distributed Computing Environments
US20220350507A1 (en) Dynamic Management of Data Storage for Applications Based on Data Classification
US20220179633A1 (en) Desired state model for managing lifecycle of virtualization software installed in heterogeneous cluster of hosts
US20220239555A1 (en) Remediation of a system to new desired state using configuration dependency graph
US10922238B2 (en) Method for storing content, method for consulting content, method for managing content and content readers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal