KR20240057769A - 관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법 - Google Patents

관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법 Download PDF

Info

Publication number
KR20240057769A
KR20240057769A KR1020220138383A KR20220138383A KR20240057769A KR 20240057769 A KR20240057769 A KR 20240057769A KR 1020220138383 A KR1020220138383 A KR 1020220138383A KR 20220138383 A KR20220138383 A KR 20220138383A KR 20240057769 A KR20240057769 A KR 20240057769A
Authority
KR
South Korea
Prior art keywords
provisioner
volume
persistence
cloud
dynamic
Prior art date
Application number
KR1020220138383A
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 KR1020220138383A priority Critical patent/KR20240057769A/ko
Publication of KR20240057769A publication Critical patent/KR20240057769A/ko

Links

Images

Classifications

    • 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
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • 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/45566Nested virtual machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 관리형 쿠버네티스(Managed Kubernetes) 서비스 환경에서, 언더 클라우드(Under Cloud)의 가상 머신(VM: Virtual Machine)에 대해 동적으로 할당되는 스토리지를 오버 클라우드(Over Cloud)의 퍼시스턴스 볼륨(PV: Persistent Volume)으로 활용하기 위한 방안에 관한 것이다.

Description

관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법{MANAGED KUBERNETES SERVICE APPARATUS, DYNIMIC STORAGE PROVISIONING METHOD}
본 발명은, 관리형 쿠버네티스(Managed Kubernetes) 서비스 환경에서, 언더 클라우드(Under Cloud)의 가상 머신(VM: Virtual Machine)에 대해 동적으로 할당되는 스토리지를 오버 클라우드(Over Cloud)의 퍼시스턴스 볼륨(PV: Persistent Volume)으로 활용하기 위한 방안에 관한 것이다.
서버리스 컴퓨팅은 어플리케이션을 제외한 모든 요소를 클라우드 제공자가 서비스하는 형태로서, 어플리케이션을 제외하고 물리적 인프라, 가상 머신, 컨테이너 그리고 통합적으로 관리하는 영역을 클라우드 제공자가 서비스하며, 사용자는 어플리케이션을 관리할 수 있다.
이 중 컨테이너는 가상 머신에 비해 훨씬 가벼운 가상화 기술로서, 어플리케이션 실행을 위한 모든 연관 요소(관련 라이브러리, 구성 파일 등)를 하나의 패키지로 구성하는 것을 지원함에 따라, 컨테이너의 생성 및 배포 시간을 단축시킬 수 있을 뿐만 아니라 재 기동 또한 빠르다는 장점을 가진다.
이와 관련하여, 클라우드 환경에서 제공되는 대부분의 서비스는 컨테이너화된 어플리케이션을 자동으로 배포, 스케일링 및 관리해주는 오픈소스 시스템인 쿠버네티스(Kubernetes) 기반의 서비스 아키텍쳐로 구성되는 것이 일반적이다.
따라서, 기존 클라우드 환경에서 제공되던 다양한 IT 서비스 및 기술을 모바일 네트워크의 엣지에서 제공하고자 하는 개념인 MEC(Multi-access Edge Computing) 환경에서도 쿠버네티스의 지원이 필수적이라 할 수 있다.
이와 관련하여, MEC 환경에서 구현되는 베어 메탈(BM: Bare Metal) 내 설치된 하이퍼바이저(Hypervisor)를 통해 가상 머신(VM: Virtual Machine)을 생성하고, 쿠버네티스 클러스터를 해당 가상 머신에 설치하는 방식으로 관리형 쿠버네티스(Managed Kubernetes) 서비스가 제공될 수 있다.
이러한, 관리형 쿠버네티스 서비스에서는, NAS(Network Attached Storage)를 사용하는 경우 네트워크 I/O가 병목으로 작용할 수 있기 때문에 높은 I/O 스루풋(throughput)을 지원할 수 있는 DAS(Directly Attached Storage)이 선호된다.
때문에, MEC 어플리케이션을 오버 클라우드의 쿠버네티스(K8S)에 배포하여 사용하는 경우, DAS 방식에 따라 퍼시스턴스 볼륨(PV: Persistent Volume) 자원에 대한 프로비저닝 시, I/O 성능을 고려하여 가상 머신에 연결(Attach)된 스토리지(Storage)를 직접 이용하는 것이 일반적이다.
그러나, 이처럼 가상 머신에 연결(Attach)된 스토리지의 경우, 가상 머신의 생성 시점에 가상 머신을 정의하는 스펙(Spec)에 따라 정적으로 생성되는 관계로, 이러한 스토리지를 활용하여 오버 클라우드의 퍼시스턴스 볼륨을 생성하는 경우, 스토리지의 고갈에 따른 퍼시스턴스 볼륨의 생성 실패 이슈가 존재한다.
특히 스토리지가 고갈되어 일정 임계치를 넘는 경우라면, 전술한 퍼시스턴스 볼륨의 생성 실패 이슈뿐만 아니라 오버 클라우드의 쿠버네티스 노드가 축출(Evict)되는 장애로까지 이어질 수 있다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은 언더 클라우드(Under Cloud)의 가상 머신(VM: Virtual Machine)에 대해 동적으로 할당되는 스토리지를 오버 클라우드(Over Cloud)의 퍼시스턴스 볼륨(PV: Persistent Volume)으로 활용하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 관리형 쿠버네티스 서비스 장치는, 오버 클라우드(Over Cloud) 쿠버네티스로부터 퍼시스턴스 볼륨(PV: Persistent Volume)의 생성이 요청되면, 가상 머신(VM: Virtual Machine)을 호스트하는 베어 메탈(BM: Bare Metal)의 상태를 기초로 상기 가상 머신에서 가용한 퍼시스턴스 볼륨을 언더 클라우드(Under Cloud)에 생성하는 동적 프로비저너(Dynamic Provisioner)를 포함하는 것을 특징으로 한다.
구체적으로, 상기 동적 프로비저너는, 상기 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 상기 베어 메탈의 스토리지 잔여량을 기초로 퍼시스턴스 볼륨이 생성되도록 할 수 있다.
구체적으로, 상기 동적 프로비저너는, 상기 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 호스트패스 프로비저너(HostPath Provisioner)를 호출하며, 호출된 호스트패스 프로비저너를 통해서 요청된 퍼시스턴스 볼륨을 오버 클라우드에 생성할 수 있다.
구체적으로, 상기 동적 프로비저너는, 상기 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 언더 클라우드에 퍼시스턴스 볼륨이 생성되도록 할 수 있다.
구체적으로, 상기 동적 프로비저너는, 언더 클라우드에 퍼시스턴스 볼륨을 생성하는 언더 클라우드 쿠버네티스를 쿠브버트(Kubevirt)를 통해 호출하며, 상기 언더 클라우드 쿠버네티스는, 언더 클라우드에 생성된 퍼시스턴스 볼륨을 상기 가상 머신의 스토리지로 연결(Attach-Hotplug)할 수 있다.
구체적으로, 상기 동적 프로비저너는, 상기 가상 머신의 스토리지로 연결된 퍼시스턴스 볼륨을 마운트(Mount)하여 호스트패스 프로비저너(HostPath Provisioner)에서 가용한 상태로 전환하며, 상기 호스트패스 프로비저너는, 상기 가상 머신의 스토리지로 연결된 퍼시스턴스 볼륨을 이용하여 오버 클라우드에 퍼시스턴스 볼륨을 생성하여, 상기 오버 클라우드에 생성된 퍼시스턴스 볼륨이 상기 오버 클라우드 쿠버네티스의 파드(POD)에 연결(Attach)되도록 할 수 있다.
구체적으로, 상기 동적 프로비저너는, 상기 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 공유 스토리지 프로비저너(Shared Storage Provisioner)를 호출하며, 호출된 공유 스토리지 프로비저너를 통해서 요청된 퍼시스턴스 볼륨을 NAS(Network Attached Storage)를 기반으로 오버 클라우드에 생성할 수 있다.
구체적으로, 상기 동적 프로비저너는, 상기 NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 요청된 퍼시스턴스 볼륨이 상기 NAS를 기반으로 생성되도록 하며, 상기 NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우에 대해서는, 요청된 퍼시스턴스 볼륨에 대한 생성 실패를 상기 오버 클라우드 쿠버네티스로 통지할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 관리형 쿠버네티스 서비스 장치에서 수행되는 동적 스토리지 프로비저닝 방법은, 오버 클라우드(Over Cloud) 쿠버네티스로부터 퍼시스턴스 볼륨(PV: Persistent Volume)의 생성 요청에 따라, 동적 프로비저너(Dynamic Provisioner)가 가상 머신(VM: Virtual Machine)을 호스트하는 베어 메탈(BM: Bare Metal)의 상태를 기초로 상기 가상 머신에서 가용한 퍼시스턴스 볼륨을 언더 클라우드(Under Cloud)에 생성하는 언더 클라우드 할당단계를 포함하는 것을 특징으로 한다.
구체적으로, 상기 동적 프로비저너는, 상기 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 상기 베어 메탈의 스토리지 잔여량을 기초로 퍼시스턴스 볼륨이 생성되도록 할 수 있다.
구체적으로, 상기 방법은, 상기 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 상기 동적 프로비저너가 호스트패스 프로비저너(HostPath Provisioner)를 호출하며, 호출된 호스트패스 프로비저너를 통해서 요청된 퍼시스턴스 볼륨을 오버 클라우드에 생성하는 오버 클라우드 할당단계를 더 포함할 수 있다.
구체적으로, 상기 동적 프로비저너는, 상기 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 언더 클라우드에 퍼시스턴스 볼륨이 생성되도록 할 수 있다.
구체적으로, 상기 동적 프로비저너는, 언더 클라우드에 퍼시스턴스 볼륨을 생성하는 언더 클라우드 쿠버네티스를 쿠브버트(Kubevirt)를 통해 호출하며, 상기 언더 클라우드 쿠버네티스는, 언더 클라우드에 생성된 퍼시스턴스 볼륨을 상기 가상 머신의 스토리지로 연결(Attach-Hotplug)할 수 있다.
구체적으로, 상기 동적 프로비저너는, 상기 가상 머신의 스토리지로 연결된 퍼시스턴스 볼륨을 마운트(Mount)하여 호스트패스 프로비저너(HostPath Provisioner)에서 가용한 상태로 전환하며, 상기 호스트패스 프로비저너는, 상기 가상 머신의 스토리지로 연결된 퍼시스턴스 볼륨을 이용하여 오버 클라우드에 퍼시스턴스 볼륨을 생성하여, 상기 오버 클라우드에 생성된 퍼시스턴스 볼륨이 상기 오버 클라우드 쿠버네티스의 파드(POD)에 연결(Attach)되도록 할 수 있다.
구체적으로, 상기 방법은, 상기 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 상기 동적 프로비저너가 공유 스토리지 프로비저너(Shared Storage Provisioner)를 호출하며, 호출된 공유 스토리지 프로비저너를 통해서 요청된 퍼시스턴스 볼륨을 NAS(Network Attached Storage)를 기반으로 오버 클라우드에 생성하는 네트워크 할당단계를 더 포함할 수 있다.
구체적으로, 상기 동적 프로비저너는, 상기 NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 요청된 퍼시스턴스 볼륨이 상기 NAS를 기반으로 생성되도록 하며, 상기 NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우에 대해서는, 요청된 퍼시스턴스 볼륨에 대한 생성 실패를 상기 오버 클라우드 쿠버네티스로 통지할 수 있다.
이에, 본 발명의 관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법에 의하면, 오버 클라우드(Over Cloud) 쿠버네티스의 퍼시스턴스 볼륨(PV: Persistent Volume)을 생성함에 있어서, 기 생성된 스토리지만을 사용하는 것이 아닌, 베어 메탈(BM, Bare Metal storage), 더 나아가 NAS(Network Attached Storage)를 활용하는 등 다양한 방식의 동적으로 판단하여 사용함으로써, 로컬 스토리지 고갈로 인한 퍼시스턴스 볼륨의 생성 실패를 제로화하고, 오버 클라우드 쿠버네티스 뿐만 아니라, 언더 클라우드(Under Cloud) 쿠버네티스의 노드가 축출(Evict)되는 장애를 미연에 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 관리형 쿠버네티스 플랫폼을 설명하기 위한 예시도.
도 2는 본 발명의 일 실시예에 따른 관리형 쿠버네티스 서비스 장치를 설명하기 위한 구성도.
도 3은 본 발명의 일 실시예에 따른 베어 메탈의 스토리지의 활용 과정을을 부연 설명하기 위한 예시도.
도 4는 본 발명의 일 실시예에 따른 동적 스토리지 프로비저닝 방법을 설명하기 위한 순서도.
도 5는 본 발명의 일 실시예에 따른 베어 메탈의 스토리지의 활용 과정을 부연 설명하기 위한 예시도.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
본 발명의 일 실시예에서는, MEC(Multi-access Edge Computing) 환경에서 구현되는 관리형 쿠버네티스(Managed Kubernetes) 서비스에 관한 기술을 다룬다.
관리형 쿠버네티스 서비스에서는, NAS(Network Attached Storage)를 사용하는 경우 네트워크 I/O가 병목으로 작용할 수 있기 때문에 높은 I/O 스루풋(throughput)을 지원할 수 있는 DAS(Directly Attached Storage)이 선호된다.
때문에, MEC 어플리케이션을 오버 클라우드의 쿠버네티스(K8S)에 배포하여 사용하는 경우, DAS 방식에 따라 퍼시스턴스 볼륨(PV: Persistent Volume) 자원에 대한 프로비저닝 시, I/O 성능을 고려하여 가상 머신에 연결(Attach)된 스토리지(Storage)를 직접 이용하는 것이 일반적이다.
그러나, 이처럼 가상 머신에 연결(Attach)된 스토리지의 경우, 가상 머신의 생성 시점에 가상 머신을 정의하는 스펙(Spec)에 따라 정적으로 생성되며, 이로 인해 이러한 스토리지를 활용하여 오버 클라우드의 퍼시스턴스 볼륨을 생성하는 경우, 스토리지의 고갈에 따른 퍼시스턴스 볼륨의 생성 실패 이슈가 존재하게 된다.
다시 말해, 퍼시스턴스 볼륨은 쿠버네티스 플랫폼 상에서 동적으로 할당이 되나, 결국 퍼시스턴스 볼륨을 수용하는 스토리지가 정적으로 할당되다 보니, 퍼시스턴스 볼륨을 온-디맨드(On-Demand) 방식으로 프로비저닝(Provisioning)하는데 한계가 있다.
특히 스토리지가 고갈되어 일정 임계치를 넘는 경우라면, 전술한 퍼시스턴스 볼륨의 생성 실패 이슈뿐만 아니라 오버 클라우드의 쿠버네티스 노드가 축출(Evict)되는 장애로까지 이어질 수 있다.
이에, 본 발명의 일 실시예에서는 관리형 쿠버네티스 플랫폼 환경에서, 언더 클라우드(Under Cloud)의 가상 머신(VM: Virtual Machine)에 대해 동적으로 할당되는 스토리지를 오버 클라우드(Over Cloud)의 퍼시스턴스 볼륨(PV: Persistent Volume)으로 활용할 수 있는 새로운 방안을 제안하고자 한다.
이와 관련하여, 도 1에서는 본 발명의 일 실시예에 따른 관리형 쿠버네티스 플랫폼을 예시적으로 보여주고 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 관리형 쿠버네티스 플랫폼에서는, 언더 클라우드(Under Cloud)의 베어 메탈(BM: Bare Metal) 내 설치된 하이퍼바이저(Hypervisor)를 통해 가상 머신(VM: Virtual Machine)을 생성하고, 오버 클라우드(Over Cloud)의 쿠버네티스 클러스터를 해당 가상 머신에 설치하는 방식으로 관리형 쿠버네티스 서비스가 제공될 수 있다.
이러한 관리형 쿠버네티스 서비스 구현과 관련하여, 모바일 엣지 오케스트레이터(MEO)에서는 워크로드 쿠버네티스(Workload kubernetes) 생성을 요청하기 위해 모바일 엣지 플랫폼 매니저(MEPM)를 호출하며, 모바일 엣지 플랫폼 매니저(MEPM)는 다시 가상화 인프라 매너저(VIM)를 호출하게 된다.
이에 대해, 가상화 인프라 매너저(VIM)는 쿠버네티스 관리자(Management Kubernetes)를 호출하며, 쿠버네티스 관리자(Management Kubernetes)는 이에 응답하여 워크로드 쿠버네티스(Workload kubernetes)에 대한 생성, 삭제, 및 업데이트 등 오버 클라우드(Over Cloud) 상의 워크로드 쿠버네티스(Workload kubernetes)에 대한 전체 라이프 사이클을 관리한다.
한편, 모바일 엣지 플랫폼(MEP)에서는, 가상화된 인프라에서 MEC 어플리케이션을 실행하기 위한 필수적인 기능들을 제공한다.
이상, 본 발명의 일 실시예에 따른 관리형 쿠버네티스 플랫폼에서는 이러한 구성을 전제로 언더 클라우드(Under Cloud)의 가상 머신(VM: Virtual Machine)에 대해 동적으로 할당되는 스토리지를 오버 클라우드(Over Cloud)의 퍼시스턴스 볼륨(PV: Persistent Volume)으로 활용할 수 있는데, 이하에서는 이를 실현하기 위해 플랫폼 상에서 동작하는 관리형 쿠버네티스 서비스 장치의 구성을 구체적으로 설명하기로 한다.
이와 관련하여, 도 2에는 본 발명의 일 실시예에 따른 관리형 쿠버네티스 서비스 장치(100)의 구성을 예시적으로 보여주고 있다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 관리형 쿠버네티스 서비스 장치(100)는, 오버 클라우드(Over Cloud) 상에서 CSI(Container Storage Interface) 표준 인터페이스를 구현한 플러그 인으로서, 동적 프로비저너(Dynamic Provisioner, 110)를 포함한다.
이러한, 동적 프로비저너(110)는, 오버 클라우드 쿠버네티스로부터 퍼시스턴스 볼륨(PV: Persistent Volume)의 생성이 요청되면, 가상 머신(VM: Virtual Machine)의 스토리지 잔여량을 기초로 요청된 퍼시스턴스 볼륨을 오버 클라우드에 생성한다.
이를 위해, 본 발명의 일 실시예에 따른 관리형 쿠버네티스 서비스 장치(100)는 오버 클라우드 상에서 퍼시스턴스 볼륨의 생성을 담당하는 호스트패스 프로비저너(HostPath Provisioner, 120)를 더 포함할 수 있다.
이와 관련하여, 동적 프로비저너(110)는, 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 호스트패스 프로비저너(HostPath Provisioner, 120)를 호출하며, 호출된 호스트패스 프로비저너(120)를 통해 요청된 퍼시스턴스 볼륨을 오버 클라우드에 생성한다.
반면, 본 발명의 일 실시예에 따르면, 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 가상 머신을 호스트하는 베어 메탈(BM: Bare Metal)의 스토리지 잔여량을 기초로 퍼시스턴스 볼륨을 언더 클라우드에 생성하게 된다.
이를 위해, 본 발명의 일 실시예에 따른 관리형 쿠버네티스 서비스 장치(100)는 언더 클라우드 상에서, 언더 클라우드 쿠버네티스를 호출을 담당하는 쿠브버트(Kubevirt, 140)를 더 포함할 수 있다.
이와 관련하여, 동적 프로비저너(110)는, 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 쿠브버트(140)를 통해 언더 클라우드 쿠버네티스를 호출하며, 호출된 언더 클라우드 쿠버네티스를 통해 요청된 퍼시스턴스 볼륨을 언더 클라우드에 생성한다.
이때, 언더 클라우드 쿠버네티스는, 언더 클라우드에 퍼시스턴스 볼륨이 생성되면, 생성된 퍼시스턴스 볼륨을 가상 머신의 스토리지로 연결(Attach-Hotplug)한다.
참고로, 본 발명의 일 실시예에서는 베어 메탈(BM: Bare Metal)의 스토리지 잔여량을 기초로 퍼시스턴스 볼륨을 생성하는 것으로 설명하지만, 이러한 양적인 비교에 제한되는 것이 아닌, 스케쥴링 관점에서 베어 메탈에 대해서 확인할 수 있는 다양한 상태를 기준으로 퍼시스턴스 볼륨에 대한 생성을 진행할 수 있음은 물론이다.
한편, 가상 머신의 스토리지로 연결(Attach-Hotplug)된 퍼시스턴스 볼륨은 바로 가용하지 않으며, 이를 오버 클라우드 쿠버네티스에서 사용하기 위해서는 가상머신의 스토리지로 연결된 퍼시스턴스 볼륨에 대한 별도의 마운트(Mount) 과정이 필요하다.
이와 관련하여, 동적 프로비저너(110)는, 언더 클라우드에 생성된 퍼시스턴스 볼륨이 가상 머신의 스토리지로 연결(Attach-Hotplug)되면, 퍼시스턴스 볼륨을 마운트(Mount)하여 호스트패스 프로비저너(120)에서 가용한 상태로 전환한다.
이에 대해, 호스트패스 프로비저너(120)는, 가용한 상태로 전환된 퍼시스턴스 볼륨을 이용하여 오버 클라우드에 퍼시스턴스 볼륨을 생성함으로써, 생성된 퍼시스턴스 볼륨이 오버 클라우드 쿠버네티스의 파드(POD)에 연결(Attach)되도록 한다.
이하에서는, 설명의 이해를 돕기 위해 베어 메탈의 스토리지를 오버 클라우드의 퍼시스턴스 볼륨으로 활용하는 위 특징을, 도 3을 참조하여 다시 살펴보기로 한다.
먼저, 오버 클라우드 쿠버네티스로부터의 퍼시스턴스 볼륨 생성 요청이 동적 프로비저너(110)로 전달되면, 이를 수신한 동적 프로비저너(110)는, 언더 클라우드에 위치한 쿠브버트(140)를 통해 퍼시스턴스 볼륨을 생성한다(1. KubeVirt API Call -> Create PV).
이처럼 언더 클라우드에 생성되는 퍼시스턴스 볼륨은, 동적 프로비저너(110)를 호스팅하는 가상 머신(VM) 내 스토리지로 연결(Attach-Hotplug)된다(2. Hotplug PV to VM as a Storage).
이와 관련하여, 동적 프로비저너(110)는, 가상 머신 내 새로운 스토리지의 생성이 확인되면 생성이 확인된 스토리지를 볼륨으로 마운트(Mount)하여 이를 로컬 파일 시스템(Local File System)을 사용하는 호스트패스 프로비저너(120)에서 가용한 상태로 전환한다(3. Volume Mount /dev/sdc, Expose to Dynamic Provisioner).
나아가, 동적 프로비저너(110)는, 호스트패스 프로비저너(120)를 호출하여 오버 클라우드에 퍼시스턴스 볼륨을 생성하게 되며, 이처럼 오버 클라우드에 생성되는 퍼시스턴스 볼륨은 오버 클라우드 쿠버네티스의 파드(POD)에 연결(Attach)된다(4. Create PV).
한편, 본 발명의 일 실시예에서는, 베어 메탈의 스토리지를 오버 클라우드의 퍼시스턴스 볼륨으로 활용함에 있어서, 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우 또한 고려할 필요가 있다.
이에, 본 발명의 일 실시예에서는, 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우라면 NAS(Network Attached Storage)의 스토리지 잔여량을 기초로 NAS 기반의 퍼시스턴스 볼륨을 오버 클라우드에 생성하게 된다.
이를 위해, 본 발명의 일 실시예에 따른 관리형 쿠버네티스 장치(100)는 오버 클라우드 상에서 NAS와의 연결을 담당하는 공유 스토리지 프로비저너(Shared Storage Provisioner, 130)를 더 포함할 수 있다.
이와 관련하여, 동적 프로비저너(110)는, NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 공유 스토리지 프로비저너(130)를 호출하며, 호출된 공유 스토리지 프로비저너(130)를 통해서 요청된 퍼시스턴스 볼륨을 NAS를 기반으로 오버 클라우드에 생성한다.
한편, 동적 프로비저너(110)는, NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우에 대해서는, 요청된 퍼시스턴스 볼륨에 대한 생성 실패를 오버 클라우드 쿠버네티스로 통지한다.
이상에서 살펴본 바와 같이 본 발명의 일 실시예에 따른 관리형 쿠버네티스 서비스 장치(100)의 구성에 따르면, 오버 클라우드(Over Cloud) 쿠버네티스의 퍼시스턴스 볼륨(PV: Persistent Volume)을 생성함에 있어서, 기 생성된 스토리지만을 사용하는 것이 아닌, 베어 메탈(BM, Bare Metal storage), 더 나아가 NAS(Network Attached Storage)를 활용하는 등 다양한 방식의 동적으로 판단하여 사용함으로써, 로컬 스토리지 고갈로 인한 퍼시스턴스 볼륨의 생성 실패를 제로화하고, 오버 클라우드 쿠버네티스 뿐만 아니라, 언더 클라우드(Under Cloud) 쿠버네티스의 노드가 축출(Evict)되는 장애를 미연에 방지할 수 있다.
이하에서는, 도 4를 참조하여, 본 발명의 일 실시예에 따른 동적 스토리지 프로비저닝 방법을 설명하기로 한다.
설명의 편의를 위해, 후술에서는 동적 스토리지 프로비저닝 방법을 수행하는 주체로서 앞서 도 3을 참조하여 설명한 관리형 쿠버네티스 서비스 장치 (100) 내 구성의 참조번호를 언급하여 설명하겠다.
먼저, 동적 프로비저너(110)는, 오버 클라우드 쿠버네티스로부터 퍼시스턴스 볼륨(PV: Persistent Volume)의 생성이 요청되면, 가상 머신(VM: Virtual Machine)의 스토리지 잔여량을 기초로 요청된 퍼시스턴스 볼륨을 오버 클라우드에 생성한다(S110-S130).
이때, 동적 프로비저너(110)는, 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 호스트패스 프로비저너(HostPath Provisioner, 120)를 호출하며, 호출된 호스트패스 프로비저너(120)를 통해 요청된 퍼시스턴스 볼륨을 오버 클라우드에 생성한다.
반면, 본 발명의 일 실시예에 따르면, 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 가상 머신을 호스트하는 베어 메탈(BM: Bare Metal)의 스토리지 잔여량을 기초로 퍼시스턴스 볼륨을 언더 클라우드에 생성하게 된다.
이와 관련하여, 동적 프로비저너(110)는, 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 쿠브버트(140)를 통해 언더 클라우드 쿠버네티스를 호출하며, 호출된 언더 클라우드 쿠버네티스를 통해 요청된 퍼시스턴스 볼륨을 언더 클라우드에 생성한다(S140-S160).
이어서, 언더 클라우드 쿠버네티스는, 언더 클라우드에 퍼시스턴스 볼륨이 생성되면, 생성된 퍼시스턴스 볼륨을 가상 머신의 스토리지로 연결(Attach-Hotplug)하게 되며, 동적 프로비저너(110)는, 언더 클라우드에 생성된 퍼시스턴스 볼륨이 가상 머신의 스토리지로 연결(Attach-Hotplug)되면, 퍼시스턴스 볼륨을 마운트(Mount)하여 호스트패스 프로비저너(120)에서 가용한 상태로 전환한다(S170).
이에 대해, 호스트패스 프로비저너(120)는, 가용한 상태로 전환된 퍼시스턴스 볼륨을 이용하여 앞선 단계 S130에서와 마찬가지로 오버 클라우드에 퍼시스턴스 볼륨을 생성함으로써, 생성된 퍼시스턴스 볼륨이 오버 클라우드 쿠버네티스의 파드(POD)에 연결(Attach)되도록 한다.
이하에서는, 설명의 이해를 돕기 위해 베어 메탈의 스토리지를 오버 클라우드의 퍼시스턴스 볼륨으로 활용하는 위 특징을, 도 5를 참조하여 좀 더 구체적으로 살펴보기로 한다.
먼저, 오버 클라우드 클라이언트(Over loud Client, 예: kubectl)에서 파드(POD) 생성과 함께 퍼시스턴스 볼륨의 생성이 요청되면(1. Request a PVC), 해당 요청은 CSI 표준 인터페이스 호출을 통하여 동적 프로비저너(110)에 전달되고, 이를 수신한 동적 프로비저너(110)는 쿠브버트(KubeVirt, 140)를 호출한다(2. Request a HotPlug PV).
이에 따라, 쿠브버트(140)는 언더 클라우드 쿠버네티스(Under Cloud K8S)에 퍼시스턴스 볼륨 생성을 요청하며(3. Request a PVC), 이를 수신한 언더 클라우드 쿠버네티스(Under Cloud K8S)는, 기 설치된 언더 클라우드 CSI 프로비저너(Under Cloud CSI Provisioner)를 통해 퍼시스턴스 볼륨의 생성을 시도한다(4. Create a PV).
그리고 나서, 언더 클라우드 CSI 프로비저너(Under Cloud CSI Provisioner)는 퍼시스턴스 볼륨이 생성이 완료되면(5. Create a PV), 그에 따른 응답을 언더 클라우드 쿠버네티스(Under Cloud K8S)로 전달한다(Response with PV created).
나아가, 쿠브버트(140)는 퍼시스턴스 볼륨의 생성이 언더 클라우드 쿠버네티스(Under Cloud K8S)로부터 확인되면(7. Response with PVC created), 생성된 퍼시스턴스 볼륨을 구독 중인 가상 머신 런처(VM Launcher)에 연결(Hotplug)하도록 언더 클라우드 쿠버네티스(Under Cloud K8S)에 요청한다(8. HotPlug PV to VM Request).
이에 대해, 언더 클라우드 쿠버네티스(Under Cloud K8S)는, 사이드 카(Sidecar) 형태의 파드(POD)를 생성하고, 이러한, 사이드 카(Sidecar) 형태의 파드(POD)에 퍼시스턴스 볼륨을 연결(Attach)한다(9. Create a sidecar POD with PV attached).
그런 다음, 언더 클라우드 쿠버네티스(Under Cloud K8S)는 사이드 카(Sidecar) 형태의 파드(POD)에서 가상 머신 런처(VM Launcher)를 구동 중인 파드(VM POD)의 매니페스트(Manifest)를 수정하여 생성된 퍼시스턴스 볼륨을 연결(Attach)한다(10. Use sidecar POD to inject PV config to the running VM).
이를 통해, 퍼시스턴스 볼륨은, 사이드 카(Sidecar) 형태의 파드(POD)에서 가상 머신 런처(VM Launcher)를 구동 중인 파드(VM POD) 간에 공유되며, 이는 가상 머신 런처(VM Launcher)를 구동 중인 파드(VM POD)에 퍼시스턴스 볼륨이 종속되지 않도록 하여 필요 시 타 파드(POD)로의 연결을 지원하기 위함이다.
다음으로, 언더 클라우드 쿠버네티스(Under Cloud K8S)는, 퍼시스턴스 볼륨에 대한 연결(Hotplug)이 완료되면, 그에 따른 응답을 쿠브버트(140)로 전달하며(11. Repose with HotPluged PV to VM), 이를 수신한 쿠브버트(140)는 해당 응답을 동적 프로비저너(110)와 공유한다(12. Response with HotPluged PV).
한편, 현 단계에서 가상 머신 런처(VM Launcher)에 연결(attach)된 퍼시스턴스 볼륨은, 파드(POD)에서만 보이고 가상 머신에서는 이를 인지할 수 없다.
이에 따라, 동적 프로비저너(110)는, 가상 머신에서 해당 퍼시스턴스 볼륨을 연계(Associate)할 수 있도록 요청을 보내며(13. Associate PV to VM), 이 과정에서 가상 머신의 매니페스트(Manifest)가 업데이트되면서 퍼시스턴스 볼륨이 가상 머신에 연결(Attach)되고(14. Edit VM manifest, attach storage to VM), 이 과정이 끝나면, 동적 프로비저너(110)에 의해 퍼시스턴스 볼륨이 마운트(Mount)된다(15. Volume Mount).
이후, 동적 프로비저너(110)는 퍼시스턴스 볼륨의 마운트 완료 응답이 수신되면(16. Associated PV to VM), 마운트된 퍼시스턴스 볼륨을 오버 클라우드 쿠버네티스(OverCloud K8S)에서 사용할 수 있도록 오버 클라우드의 퍼시스턴스 볼륨 생성을 호스트패스 프로비저너(120)에 요청하게 된다(17. Request PVC).
이에 대해 호스트패스 프로비저너(120)는 마운트된 퍼시스턴스 볼륨을 이용하여 오버 클라우드에 퍼시스턴스 볼륨을 생성한 후(18. Create PV), 그 결과를 오버 클라우드 클라이언트(Over loud Client)에게 응답한다(19. Response with PVC created).
이상 도 5를 참조한 부연 설명을 마치고, 다시 앞서 언급한 도 4를 참조하여 동적 스토리지 프로비저닝 방법에 대한 설명을 이어 가기로 한다.
한편, 본 발명의 일 실시예에서는, 베어 메탈의 스토리지를 오버 클라우드의 퍼시스턴스 볼륨으로 활용함에 있어서, 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우 또한 고려할 필요가 있다.
이에, 본 발명의 일 실시예에서는, 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우라면 NAS(Network Attached Storage)의 스토리지 잔여량을 기초로 NAS 기반의 퍼시스턴스 볼륨을 오버 클라우드에 생성하게 된다.
이와 관련하여, 동적 프로비저너(110)는, NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 공유 스토리지 프로비저너(130)를 호출하며, 호출된 공유 스토리지 프로비저너(130)를 통해서 요청된 퍼시스턴스 볼륨을 NAS를 기반으로 오버 클라우드에 생성한다(S180-S200).
한편, 동적 프로비저너(110)는, NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우에 대해서는, 요청된 퍼시스턴스 볼륨에 대한 생성 실패(Fail Over Cloud PV Provisioning)를 오버 클라우드 쿠버네티스로 통지할 수 있다.
이상에서 살펴본 바와 같이 본 발명의 일 실시예에 따른 동적 스토리지 프로비저닝 방법에 따르면, 오버 클라우드(Over Cloud) 쿠버네티스의 퍼시스턴스 볼륨(PV: Persistent Volume)을 생성함에 있어서, 기 생성된 스토리지만을 사용하는 것이 아닌, 베어 메탈(BM, Bare Metal storage), 더 나아가 NAS(Network Attached Storage)를 활용하는 등 다양한 방식의 동적으로 판단하여 사용함으로써, 로컬 스토리지 고갈로 인한 퍼시스턴스 볼륨의 생성 실패를 제로화하고, 오버 클라우드 쿠버네티스 뿐만 아니라, 언더 클라우드(Under Cloud) 쿠버네티스의 노드가 축출(Evict)되는 장애를 미연에 방지할 수 있다.
한편, 본 발명의 일 실시예에 따른 동적 스토리지 프로비저닝 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명에 따른 관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법에 따르면, 관리형 쿠버네티스(Managed Kubernetes) 서비스 환경에서, 언더 클라우드(Under Cloud)의 가상 머신(VM: Virtual Machine)에 대해 동적으로 할당되는 스토리지를 오버 클라우드(Over Cloud)의 퍼시스턴스 볼륨(PV: Persistent Volume)으로 활용할 수 있다는 점에서, 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
100: 관리형 쿠버네티스 서비스 장치
110: 동적 프로비저너 120:
110: 노드 120: 쿠버네티스 네트워크
130: 네트워크 인터페이스 카드

Claims (18)

  1. 오버 클라우드(Over Cloud) 쿠버네티스로부터 퍼시스턴스 볼륨(PV: Persistent Volume)의 생성이 요청되면, 가상 머신(VM: Virtual Machine)을 호스트하는 베어 메탈(BM: Bare Metal)의 상태를 기초로 상기 가상 머신에서 가용한 퍼시스턴스 볼륨을 언더 클라우드(Under Cloud)에 생성하는 동적 프로비저너(Dynamic Provisioner)를 포함하는 것을 특징으로 하는 관리형 쿠버네티스 서비스 장치.
  2. 제 1 항에 있어서,
    상기 동적 프로비저너는,
    상기 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 상기 베어 메탈의 스토리지 잔여량을 기초로 퍼시스턴스 볼륨이 생성되도록 하는 것을 특징으로 하는 관리형 쿠버네티스 서비스 장치.
  3. 제 2 항에 있어서,
    상기 동적 프로비저너는,
    상기 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 호스트패스 프로비저너(HostPath Provisioner)를 호출하며, 호출된 호스트패스 프로비저너를 통해서 요청된 퍼시스턴스 볼륨을 오버 클라우드에 생성하는 것을 특징으로 하는 관리형 쿠버네티스 서비스 장치.
  4. 제 1 항에 있어서,
    상기 동적 프로비저너는,
    상기 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 언더 클라우드에 퍼시스턴스 볼륨이 생성되도록 하는 것을 특징으로 하는 관리형 쿠버네티스 서비스 장치.
  5. 제 1 항에 있어서,
    상기 동적 프로비저너는,
    언더 클라우드에 퍼시스턴스 볼륨을 생성하는 언더 클라우드 쿠버네티스를 쿠브버트(Kubevirt)를 통해 호출하며,
    상기 언더 클라우드 쿠버네티스는,
    언더 클라우드에 생성된 퍼시스턴스 볼륨을 상기 가상 머신의 스토리지로 연결(Attach-Hotplug)하는 것을 특징으로 하는 관리형 쿠버네티스 서비스 장치.
  6. 제 5 항에 있어서,
    상기 동적 프로비저너는,
    상기 가상 머신의 스토리지로 연결된 퍼시스턴스 볼륨을 마운트(Mount)하여 호스트패스 프로비저너(HostPath Provisioner)에서 가용한 상태로 전환하며,
    상기 호스트패스 프로비저너는,
    상기 가상 머신의 스토리지로 연결된 퍼시스턴스 볼륨을 이용하여 오버 클라우드에 퍼시스턴스 볼륨을 생성하여, 상기 오버 클라우드에 생성된 퍼시스턴스 볼륨이 상기 오버 클라우드 쿠버네티스의 파드(POD)에 연결(Attach)되도록 하는 것을 특징으로 하는 관리형 쿠버네티스 서비스 장치.
  7. 제 1 항에 있어서,
    상기 동적 프로비저너는,
    상기 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 공유 스토리지 프로비저너(Shared Storage Provisioner)를 호출하며, 호출된 공유 스토리지 프로비저너를 통해서 요청된 퍼시스턴스 볼륨을 NAS(Network Attached Storage)를 기반으로 오버 클라우드에 생성하는 것을 특징으로 하는 관리형 쿠버네티스 서비스 장치.
  8. 제 7 항에 있어서,
    상기 동적 프로비저너는,
    상기 NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 요청된 퍼시스턴스 볼륨이 상기 NAS를 기반으로 생성되도록 하며,
    상기 NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우에 대해서는, 요청된 퍼시스턴스 볼륨에 대한 생성 실패를 상기 오버 클라우드 쿠버네티스로 통지하는 것을 특징으로 하는 관리형 쿠버네티스 서비스 장치.
  9. 관리형 쿠버네티스 서비스 장치에서 수행되는 동적 스토리지 프로비저닝 방법에 있어서,
    오버 클라우드(Over Cloud) 쿠버네티스로부터 퍼시스턴스 볼륨(PV: Persistent Volume)의 생성 요청에 따라, 동적 프로비저너(Dynamic Provisioner)가 가상 머신(VM: Virtual Machine)을 호스트하는 베어 메탈(BM: Bare Metal)의 상태를 기초로 상기 가상 머신에서 가용한 퍼시스턴스 볼륨을 언더 클라우드(Under Cloud)에 생성하는 언더 클라우드 할당단계를 포함하는 것을 특징으로 하는 동적 스토리지 프로비저닝 방법.
  10. 제 9 항에 있어서,
    상기 동적 프로비저너는,
    상기 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 상기 베어 메탈의 스토리지 잔여량을 기초로 퍼시스턴스 볼륨이 생성되도록 하는 것을 특징으로 하는 동적 스토리지 프로비저닝 방법.
  11. 제 10 항에 있어서,
    상기 방법은,
    상기 가상 머신의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 상기 동적 프로비저너가 호스트패스 프로비저너(HostPath Provisioner)를 호출하며, 호출된 호스트패스 프로비저너를 통해서 요청된 퍼시스턴스 볼륨을 오버 클라우드에 생성되도록 하는 오버 클라우드 할당단계를 더 포함하는 것을 특징으로 하는 동적 스토리지 프로비저닝 방법.
  12. 제 9 항에 있어서,
    상기 동적 프로비저너는,
    상기 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우, 언더 클라우드에 퍼시스턴스 볼륨이 생성되도록 하는 것을 특징으로 하는 동적 스토리지 프로비저닝 방법.
  13. 제 9 항에 있어서,
    상기 동적 프로비저너는,
    언더 클라우드에 퍼시스턴스 볼륨을 생성하는 언더 클라우드 쿠버네티스를 쿠브버트(Kubevirt)를 통해 호출하며,
    상기 언더 클라우드 쿠버네티스는,
    언더 클라우드에 생성된 퍼시스턴스 볼륨을 상기 가상 머신의 스토리지로 연결(Attach-Hotplug)하는 것을 특징으로 하는 동적 스토리지 프로비저닝 방법.
  14. 제 13 항에 있어서,
    상기 동적 프로비저너는,
    상기 가상 머신의 스토리지로 연결된 퍼시스턴스 볼륨을 마운트(Mount)하여 호스트패스 프로비저너(HostPath Provisioner)에서 가용한 상태로 전환하며,
    상기 호스트패스 프로비저너는,
    상기 가상 머신의 스토리지로 연결된 퍼시스턴스 볼륨을 이용하여 오버 클라우드에 퍼시스턴스 볼륨을 생성하여, 상기 오버 클라우드에 생성된 퍼시스턴스 볼륨이 상기 오버 클라우드 쿠버네티스의 파드(POD)에 연결(Attach)되도록 하는 것을 특징으로 하는 동적 스토리지 프로비저닝 방법.
  15. 제 9 항에 있어서,
    상기 방법은,
    상기 베어 메탈의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 상기 동적 프로비저너가 공유 스토리지 프로비저너(Shared Storage Provisioner)를 호출하며, 호출된 공유 스토리지 프로비저너를 통해서 요청된 퍼시스턴스 볼륨을 NAS(Network Attached Storage)를 기반으로 오버 클라우드에 생성하는 네트워크 할당단계를 더 포함하는 것을 특징으로 하는 동적 스토리지 프로비저닝 방법.
  16. 제 15 항에 있어서,
    상기 동적 프로비저너는,
    상기 NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 큰 경우, 요청된 퍼시스턴스 볼륨이 상기 NAS를 기반으로 생성되도록 하며,
    상기 NAS의 스토리지 잔여량이 요청된 퍼시스턴스 볼륨의 크기보다 적은 경우에 대해서는, 요청된 퍼시스턴스 볼륨에 대한 생성 실패를 상기 오버 클라우드 쿠버네티스로 통지하는 것을 특징으로 하는 동적 스토리지 프로비저닝 방법.
  17. 제 9 항 내지 제 16 항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능 기록매체.
  18. 하드웨어와 결합되어, 제 9 항 내지 제 16 항 중 어느 한 항의 방법을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램.
KR1020220138383A 2022-10-25 2022-10-25 관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법 KR20240057769A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220138383A KR20240057769A (ko) 2022-10-25 2022-10-25 관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220138383A KR20240057769A (ko) 2022-10-25 2022-10-25 관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법

Publications (1)

Publication Number Publication Date
KR20240057769A true KR20240057769A (ko) 2024-05-03

Family

ID=91077426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220138383A KR20240057769A (ko) 2022-10-25 2022-10-25 관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법

Country Status (1)

Country Link
KR (1) KR20240057769A (ko)

Similar Documents

Publication Publication Date Title
CN113711541B (zh) 改变容器化工作负载隔离的方法和系统
US11178207B2 (en) Software version control without affecting a deployed container
US9760395B2 (en) Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US10691568B2 (en) Container replication and failover orchestration in distributed computing environments
US9984648B2 (en) Delivering GPU resources to a migrating virtual machine
US8301746B2 (en) Method and system for abstracting non-functional requirements based deployment of virtual machines
US7725559B2 (en) Virtual data center that allocates and manages system resources across multiple nodes
US11029992B2 (en) Nondisruptive updates in a networked computing environment
US10747581B2 (en) Virtual machine migration between software defined storage systems
US10324799B2 (en) Enhanced application write performance
CN109168328B (zh) 虚拟机迁移的方法、装置和虚拟化系统
JP2013518330A5 (ko)
CN108089913A (zh) 一种超融合系统的虚拟机部署方法
US11113075B2 (en) Launching a middleware-based application
JP2023538938A (ja) 共用可能なアプリケーションスナップショットの為のコンパイル化戦略
US10169027B2 (en) Upgrade of an operating system of a virtual machine
US20200201664A1 (en) Fault tolerant hyper-converged infrastructure upgrades in an environment with no additional physical infrastructure
US9727374B2 (en) Temporary virtual machine migration for improved software application warmup
KR101936942B1 (ko) 분산형 컴퓨팅 가속화 플랫폼 장치 및 분산형 컴퓨팅 가속화 플랫폼 운영 방법
US9588831B2 (en) Preventing recurrence of deterministic failures
CN114816665B (zh) 混合编排系统及超融合架构下虚拟机容器资源混合编排方法
US10394589B2 (en) Vertical replication of a guest operating system
KR20240057769A (ko) 관리형 쿠버네티스 서비스 장치 및 동적 스토리지 프로비저닝 방법
JP7473287B2 (ja) コンピュータ・システムの複数のインスタンスと関連付けられたリソースをプロビジョニングするための方法、装置及びコンピュータ・プログラム
US11829792B1 (en) In-place live migration of compute instances for efficient host domain patching