KR20230067224A - 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템 - Google Patents

다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템 Download PDF

Info

Publication number
KR20230067224A
KR20230067224A KR1020210153093A KR20210153093A KR20230067224A KR 20230067224 A KR20230067224 A KR 20230067224A KR 1020210153093 A KR1020210153093 A KR 1020210153093A KR 20210153093 A KR20210153093 A KR 20210153093A KR 20230067224 A KR20230067224 A KR 20230067224A
Authority
KR
South Korea
Prior art keywords
unit
node
computing module
cluster
container
Prior art date
Application number
KR1020210153093A
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 KR1020210153093A priority Critical patent/KR20230067224A/ko
Publication of KR20230067224A publication Critical patent/KR20230067224A/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템에 관한 것으로, 본 발명의 일실시예에 따르면 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템은 사용자로부터 이동 대상 서비스 데이터의 이동 및 배치를 위한 소스 노드 정보, 타겟 노드 정보, 서비스 목적 정보 및 자원 스펙 정보를 포함하는 노드 생성 요청을 수신하고, 상기 수신된 노드 생성 요청에 기반하여 노드 마이그레이션 관련 리소스를 정의하는 노드 마이그레이션 CRD(Custom Resource Definition)를 생성하며, 상기 생성된 노드 마이그레이션 CRD에 기반하여 외부 데이터 베이스에 소스 컴퓨팅 모듈 장치의 소스 클러스터부 내 컨테이너부에 대한 소스 메타 데이터 정보를 요청하여 상기 외부 데이터 베이스로부터 상기 요청된 소스 메타 데이터 정보를 수신하고, 상기 수신된 소스 메타 데이터 정보에 기반하여 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부에서 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성하고, 상기 소스 클러스터부 내 컨테이너부에서 상기 생성된 신규 노드와 관련된 기존 노드를 삭제하기 위한 마이그레이션 요청을 생성 및 전달하는 컴퓨팅 모듈 제어 장치, 상기 전달된 마이그레이션 요청에 기반하여 상기 타겟 클러스터부 내 컨테이너부에서 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성하는 타겟 컴퓨팅 모듈 장치 및 상기 전달된 마이그레이션 요청에 기반하여 상기 소스 클러스터부 내 컨테이너부에서 상기 생성된 신규 노드와 관련된 기존 노드를 삭제하는 소스 컴퓨팅 모듈 장치를 포함하고, 상기 컴퓨팅 모듈 제어 장치는 상기 신규 노드의 생성 및 상기 기존 노드의 삭제 이후에 외부 DNS 제공 장치에 상기 삭제된 기존 노드와 관련하여 소스 컴퓨팅 모듈 장치의 인터넷 프로토콜(internet protocol, IP)의 도메인 할당을 위한 DNS 도메인 할당 요청을 요청하여 상기 삭제된 기존 노드의 DNS 도메인을 변경할 수 있다.

Description

다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템{CONTAINER ORCHESTRATION SYSTEM CAPABLE OF CONTROLLING MIGRATION OF SERVICE DATA BETWEEN CLUSTER APPARATUSES IN MULTIPLE EDGE SERVER ENVIRONMENT}
본 발명은 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템에 관한 것으로, 보다 구체적으로, 다중 엣지 서버 환경에서 복수의 클러스터 장치가 하나의 플랫폼으로 동작하도록 클러스터 장치들 간의 서비스 데이터를 고속으로 이동 및 배치하는 기술에 관한 것 이다.
쿠버네티스(Kubernetes)의 API(application programming interface)들은 리소스(Resource) 라는 개념의 형태로 정의되어 있고, 이 때문에 확장성 있는 개발이 가능하다.
또한, 기본 제공되는 리소스 뿐만 아니라 사용자 필요한 리소스를 시스템 내부에 녹여서 kubectl 등과 같은 명령어로 실행 하는 것이 가능하고, 이렇게 사용자가 필요한 리소스를 정의하는 것을 CRD(Custom Resource Definition) 라고 지칭한다.
맞춤형 컨트롤러(custom controller)는 단순히 맞춤형 리소스(Custom Resource) 만 정의하여 사용하여도 되나 사용자가 필요한 리소스에 맞춘 맞춤형 컨트롤러가 필요한 경우도 있다.
맞춤형 리소스는 단순 구조화된 데이터이기 때문인데, 이런 경우 맞춤형 컨트롤러 이용하여 동작을 구현할 수 있고, 맞춤형 리소스 에서 사용자가 원하는 상태를 선언해두면 맞춤형 컨트롤러는 그 상태를 맞추기 위해 필요한 작업들을 진행할 수 있다.
현재 사용되고 있는 CRD 개발 프레임 워크는 Metacontroller, Operator, Kubebuilder 총 세가지가 있다.
컨테이너는 영구 저장이 필요하지 않다는 초기의 가정에도 불구하고 사용자들은 컨테이너화된 응용 프로그램의 연속성을 유지하는 쪽으로 이동하고 있다.
그렇기 때문에 기존의 컨테이너가 죽으면 컨테이너에 있던 데이터들이 사라지는 것이 아닌 기존의 데이터를 사용하여 해당 컨테이너를 인스턴스화 하는 방식으로 컨테이너의 연속성을 유지하고 있다.
CSI의 목표는 컨테이너 오케스트레이션 플랫폼 플러그인과 영구 스토리지에 연결 할 수 있는 공통표준을 제안하는 것이다.
테스트할 쿠버네티스 스토리지는 nfs기준이기 때문에 nfs를 지원하는 csi 드라이버 설치가 필요하다.
외부 스토리지마다 필요한 드라이버가 다르기 때문에 사용자의 스토리지와 맞는 드라이버 설치가 필수적이다.
다중 엣지 서버 환경에서는 복수의 클러스터 장치들이 하나의 플랫폼으로 체감할 수 있도록 컨테이너 내 데이터들의 고속 이동(migration) 및 배치(arrangement)가 중요하나 현존하는 플랫폼 중에서는 고속 이동 및 배치가 가능한 플랫폼 기술이 존재하지 않는다.
한국공개특허 제10-2021-0031829호, "컨테이너화된 환경에서 클러스터의 라이브 마이그레이션" 한국등록특허 제10-1807806호, "클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법" 한국등록특허 제10-2076626호, "클라우드 컴퓨팅 시스템에서 가상 머신 재배치 방법" 한국공개특허 제10-2021-0060364호, "하이브리드 클라우드를 지원하는 엣지 서버 시스템"
본 발명은 다중 엣지 서버 환경에서 복수의 클러스터 장치가 하나의 플랫폼으로 동작하도록 클러스터 장치들 간의 서비스 데이터를 이동 및 배치하는 컨테이너 오케스트레이션 시스템을 제공하는 것을 목적으로 한다.
본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 클러스터 장치들의 컨테이너들 간의 서비스 데이터가 고속 이동 및 고속 배치가 가능하도록 서비스 데이터의 이동 및 배치를 제어하는 것을 목적으로 한다.
본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 사용자가 이용하는 시스템의 중단 없이 소스 클러스터 장치의 컨테이너 내 서비스 데이터를 타겟 클러스터 장치의 컨테이너로 약 50초 이내에 고속 이동 배치하는 것을 목적으로 한다.
본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 사용자가 이용하는 시스템의 중단 없이 소스 클러스터 장치의 컨테이너 내 서비스 데이터를 타겟 클러스터 장치의 컨테이너로 이동 배치하는 마이그레이션 상황을 시각적으로 제공하는 것을 목적으로 한다.
본 발명의 일실시예에 따르면 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템은 사용자로부터 이동 대상 서비스 데이터의 이동 및 배치를 위한 소스 노드 정보, 타겟 노드 정보, 서비스 목적 정보 및 자원 스펙 정보를 포함하는 노드 생성 요청을 수신하고, 상기 수신된 노드 생성 요청에 기반하여 노드 마이그레이션 관련 리소스를 정의하는 노드 마이그레이션 CRD(Custom Resource Definition)를 생성하며, 상기 생성된 노드 마이그레이션 CRD에 기반하여 외부 데이터 베이스에 소스 컴퓨팅 모듈 장치의 소스 클러스터부 내 컨테이너부에 대한 소스 메타 데이터 정보를 요청하여 상기 외부 데이터 베이스로부터 상기 요청된 소스 메타 데이터 정보를 수신하고, 상기 수신된 소스 메타 데이터 정보에 기반하여 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부에서 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성하고, 상기 소스 클러스터부 내 컨테이너부에서 상기 생성된 신규 노드와 관련된 기존 노드를 삭제하기 위한 마이그레이션 요청을 생성 및 전달하는 컴퓨팅 모듈 제어 장치, 상기 전달된 마이그레이션 요청에 기반하여 상기 타겟 클러스터부 내 컨테이너부에서 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성하는 타겟 컴퓨팅 모듈 장치 및 상기 전달된 마이그레이션 요청에 기반하여 상기 소스 클러스터부 내 컨테이너부에서 상기 생성된 신규 노드와 관련된 기존 노드를 삭제하는 소스 컴퓨팅 모듈 장치를 포함하고, 상기 컴퓨팅 모듈 제어 장치는 상기 신규 노드의 생성 및 상기 기존 노드의 삭제 이후에 외부 DNS(Domain Name System) 제공 장치에 상기 삭제된 기존 노드와 관련하여 소스 컴퓨팅 모듈 장치의 인터넷 프로토콜(internet protocol, IP)의 도메인 할당을 위한 DNS 도메인 할당 요청을 요청하여 상기 삭제된 기존 노드의 DNS 도메인을 변경할 수 있다.
상기 소스 컴퓨팅 모듈 장치는 상기 소스 클러스터부 내 컨테이너부에서 상기 생성된 신규 노드와 관련된 기존 노드를 삭제하고, 상기 삭제된 기존 노드의 DNS 도메인을 변경하는 클러스터 제어부를 포함하고, 상기 타겟 컴퓨팅 모듈 장치는 링크 공유(link share) 기능 구현하여 상기 수신된 소스 메타 데이터 정보에 기반하여 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부에서 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성하는 스토리지 구축부를 포함할 수 있다.
상기 타겟 컴퓨팅 모듈 장치는 상기 소스 메타 데이터 정보에 포함된 상기 소스 클러스터부 내 컨테이너부의 퍼시스턴트 볼륨(persistent volume claim, PVC) 정보에 기반하여 상기 신규 노드의 퍼시스턴트 볼륨을 구축하고, 상기 소스 클러스터부 내 컨테이너부의 물리 디스크(persistent volume, PV)를 상기 신규 노드의 물리 디스크로 복제한 후, 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성이 완료되면 상기 구축된 퍼시스턴트 볼륨이 상기 복제된 물리 디스크에 기반하도록 변경하고, 상기 소스 컴퓨팅 모듈 장치는 상기 기존 노드의 물리 디스크 및 퍼시스턴트 볼륨을 삭제할 수 있다.
상기 컴퓨팅 모듈 제어 장치는 상기 소스 컴퓨팅 모듈 장치의 클러스터부에서 상기 타겟 컴퓨팅 모듈 장치의 클러스터부로 상기 이동 대상 서비스 데이터가 이동 하는 과정, 시간 및 이동 대상을 표시하는 제1 영역, 상기 마이그레이션 요청을 생성 및 전달 관련 명령어를 표시하는 제2 영역 및 상기 표시된 명령어와 관련된 데이터 처리 과정을 표시하는 제3 영역을 디스플레이를 통해 표시할 수 있다.
상기 컴퓨팅 모듈 제어 장치는 상기 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부의 객체, 순번, 이름 및 버전을 정의하는 이동 CRD 스펙 정보를 포함하는 상기 노드 마이그레이션 CRD를 생성할 수 있다.
본 발명은 다중 엣지 서버 환경에서 복수의 클러스터 장치가 하나의 플랫폼으로 동작하도록 클러스터 장치들 간의 서비스 데이터를 이동 및 배치하는 컨테이너 오케스트레이션 시스템을 제공할 수 있다.
본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 클러스터 장치들의 컨테이너들 간의 서비스 데이터가 고속 이동 및 고속 배치가 가능하도록 서비스 데이터의 이동 및 배치를 제어할 수 있다.
본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 사용자가 이용하는 시스템의 중단 없이 소스 클러스터 장치의 컨테이너 내 서비스 데이터를 타겟 클러스터 장치의 컨테이너로 약 50초 이내에 고속 이동 배치할 수 있다.
본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 사용자가 이용하는 시스템의 중단 없이 소스 클러스터 장치의 컨테이너 내 서비스 데이터를 타겟 클러스터 장치의 컨테이너로 이동 배치하는 마이그레이션 상황을 시각적으로 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템을 설명하는 도면이다.
도 2는 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법을 설명하는 도면이다.
도 3은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 표시 화면을 설명하는 도면이다.
도 4는 본 발명의 일실시예에 따른 다중 엣지 서버 환경에서 컨테이너 오케스트레이션 시스템을 설명하는 도면이다.
도 5는 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 시퀀스 다이어그램을 설명하는 도면이다.
도 6은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템에서 노드 마이그레이션 CRD의 객체를 설명하는 도면이다.
도 7은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템에서 노드 마이그레이션 제어 함수를 설명하는 도면이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다.
실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다.
하기에서 다양한 실시 예들을 설명에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
그리고 후술되는 용어들은 다양한 실시 예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다.
"제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다.
본 명세서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다.
어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다.
예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
또한, '또는' 이라는 용어는 배타적 논리합 'exclusive or' 이기보다는 포함적인 논리합 'inclusive or' 를 의미한다.
즉, 달리 언급되지 않는 한 또는 문맥으로부터 명확하지 않는 한, 'x가 a 또는 b를 이용한다' 라는 표현은 포함적인 자연 순열들(natural inclusive permutations) 중 어느 하나를 의미한다.
이하 사용되는 '..부', '..기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템을 설명하는 도면이다.
도 1은 본 발명의 일실시예에 따라 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템의 구성 요소를 예시한다.
도 1을 참고하면, 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템(100)은 컴퓨팅 모듈 제어 장치(110), 소스 컴퓨팅 모듈 장치(120) 및 타겟 컴퓨팅 모듈 장치(130)를 포함한다.
예를 들어, 컨테이너 오케스트레이션 시스템(100)은 컨테이너 오케스트레이션 기반의 런타임 환경을 제공 및 관리할 수 있다.
일례로, 컴퓨팅 모듈 제어 장치(110)는 사용자로부터 이동 대상 서비스 데이터의 이동 및 배치를 위한 소스 노드 정보, 타겟 노드 정보, 서비스 목적 정보 및 자원 스펙 정보를 포함하는 노드 생성 요청을 수신하고, 수신된 노드 생성 요청에 기반하여 노드 마이그레이션 관련 리소스를 정의하는 노드 마이그레이션 CRD(Custom Resource Definition)를 생성한다.
또한, 컴퓨팅 모듈 제어 장치(110)는 노드 마이그레이션 CRD에 기반하여 외부 데이터 베이스에 소스 컴퓨팅 모듈 장치(120)의 소스 클러스터부(122) 내 컨테이너부에 대한 소스 메타 데이터 정보를 요청하여 외부 데이터 베이스로부터 소스 메타 데이터 정보를 수신하고, 수신된 소스 메타 데이터 정보에 기반하여 타겟 컴퓨팅 모듈 장치(130)의 타겟 클러스터부(132) 내 컨테이너부에서 이동 대상 서비스 데이터에 대한 신규 노드를 생성할 수 있다.
또한, 컴퓨팅 모듈 제어 장치(110)는 소스 클러스터부(122) 내 컨테이너부에서 생성된 신규 노드와 관련된 기존 노드를 삭제하기 위한 마이그레이션 요청을 생성 및 전달할 수 있다.
본 발명의 일실시예에 따르면 컴퓨팅 모듈 제어 장치(110)는 신규 노드의 생성 및 기존 노드의 삭제 이후에 외부 DNS(Domain Name System) 제공 장치에 삭제된 기존 노드와 관련하여 소스 컴퓨팅 모듈 장치(120)의 인터넷 프로토콜(internet protocol, IP)의 도메인 할당을 위한 DNS 도메인 할당 요청을 요청하여 삭제된 기존 노드의 DNS 도메인을 변경할 수 있다.
일례로, 소스 컴퓨팅 모듈 장치(120)는 클러스터 제어부(121), 소스 클러스터부(122), 제1 컨테이너부(123), 제2 컨테이너부(124) 및 통신부(125)를 포함한다.
본 발명의 일실시예에 따르면 소스 컴퓨팅 모듈 장치(120)는 마이그레이션 요청에 기반하여 마이그레이션 완료 후에 소스 클러스터부(122) 내 제1 컨테이너부(123) 및 제2 컨테이너부(124) 중 어느 하나의 컨테이너부에서 신규 노드와 관련된 기존 노드를 삭제할 수 있다.
일례로, 클러스터 제어부(121)는 소스 클러스터부 내 컨테이너부에서 생성된 신규 노드와 관련된 기존 노드를 삭제하고, 삭제된 기존 노드의 DNS 도메인을 변경하는 제어 동작을 수행할 수 있다.
클러스터 제어부(121)는 맞춤형 제어부로서 사용자가 필요한 리소스에 맞춘 맞춤형 제어부일 수 있다.
클러스터 제어부(121)는 단순 구조화된 데이터인 맞춤형 리소스를 이용하는데 이런 경우 맞춤형 리소스에서 사용자가 원하는 상태에 따라 상태 변경 작업을 진행할 수 있다.
예를 들어, 맞춤형 리소스는 기본 제공되는 리소스 뿐만 아니라 사용자가 필요한 리소스를 시스템 내부에 녹여서 명령어로 실행하기 위한 구성으로서 여기서 사용자가 필요한 리소스는 CRD에 의해 결정될 수 있다.
클러스터 제어부(121)는 쿠버네티스(Kubernetes) API에 기반하여 설치 또는 설계될 수 있다.
본 발명의 일실시예에 따르면 컨테이너 오케스트레이션 시스템(100)은 쿠버네티스 클러스터 페더레이션(Kubernetes cluster federation)에 기반하는데 쿠버네티스 클러스터 페더레이션은 호스팅 클러스터의 단일 API 세트에서 여러 쿠버네티스 클러스터의 구성을 조정할 수 있다.
쿠버네티스 클러스터 페더레이션은 구성을 관리해야 하는 클러스터와 해당 구성을 표현하는 메커니즘을 제공할 수 있다.
쿠버네티스 클러스터 페더레이션의 매커니즘은 의도적으로 저 수준이며, 다중 지역 응용 프로그램 배포 및 재해 복구와 같은 보다 복잡한 다중 클러스터 사용 사례의 기초가 될 수 있다.
쿠버네티스 클러스터 페더레이션은 API 유형 선언 및 대상 클러스터 선정 선언으로 구분될 수 있다.
쿠버네티스 클러스터 페더레이션의 전파(propagation)는 여러 클러스터에서 공통적인 리소스 표현을 정의하는 "Templates", 리소스가 표시될 클러스터를 정의하는 "Placements" 및 템플릿에 적용할 클러스터 별 필드 수준 변형을 정의하는 "Overrides"를 포함한다.
세 가지 추상화는 여러 클러스터에 나타나는 리소스를 간결하게 표현될 수 있다.
이들은 전파에 필요한 최소한의 정보를 인코딩하며, 주어진 전파 메커니즘과 정책 기반 배치 및 동적 스케줄링과 같은 상위 동작 사이의 아교 역할을 하는 데 적합할 수 있다.
이러한 기본 개념은 상위 레벨 API에서 사용할 수 있는 빌딩 블록을 제공하는데, 상태(status)는 모든 페더레이션 클러스터에 쿠버네티스 클러스터 페더레이션이 배포한 리소스의 상태를 수집하고, 정책(policy)는 리소스를 배포할 수 있는 클러스터의 하위 집합을 결정하며, 스케쥴링(scheduling)은 작업자가 수행하는 방식과 유사한 방식으로 다른 클러스터에 워크로드를 분산시키는 방법을 결정할 수 있는 의사 결정 기능을 제공한다.
쿠버네티스 클러스터 페더레이션은 쿠버빌더(kubebuilder)로 개발되어 여러 쿠버네티스 클러스터 들의 구성을 종정해주는 도구이다.
쿠버네티스 클러스터 페더레이션은 클러스터 간 고속 이동 서비스에 활용될 수 있다.
클러스터부(122)는 제1 컨테이너부(123) 및 제2 컨테이너부(124)를 포함하고, 제1 컨테이너부(123)와 제2 컨테이너부(124)는 서로 다른 또는 동일한 서비스 데이터와 관련된 노드를 구축하고 있다.
통신부(125)는 컨테이너 오케스트레이션 시스템(100) 내에서 컴퓨팅 모듈 제어 장치(110) 및 타겟 컴퓨팅 모듈 장치(130)와 통신을 지원한다.
본 발명의 일실시예에 따르면 타겟 컴퓨팅 모듈 장치(130)는 소스 컴퓨팅 모듈 장치(120)의 컨테이너부 내 서비스 데이터가 이동 및 배치되는 대상인 컨테이너부를 포함한다.
일례로, 타겟 컴퓨팅 모듈 장치(130)는 스토리지 구축부(131), 타겟 클러스터부(132) 및 통신부(135)를 포함한다.
타겟 클러스터부(132)는 제3 컨테이너부(133) 및 제4 컨테이너부(134)를 포함한다.
예를 들어, 제3 컨테이너부(133) 및 제4 컨테이너부(134) 중 어느 하나는 제1 컨테이너부(123) 및 제2 컨테이너부(124)의 서비스 데이터가 이동되는 대상일 수 있다.
본 발명의 일실시예에 따르면 타겟 컴퓨팅 모듈 장치(130)는 마이그레이션 요청에 기반하여 타겟 클러스터부(132) 내 컨테이너부에서 이동 대상 서비스 데이터에 대한 신규 노드를 생성할 수 있다.
일례로, 타겟 컴퓨팅 모듈 장치(130)는 링크 공유(link share) 기능 구현하여 수신된 소스 메타 데이터 정보에 기반하여 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부에서 이동 대상 서비스 데이터에 대한 신규 노드를 생성하는 스토리지 구축부(131)를 포함할 수 있다.
본 발명의 일실시예에 따르면 타겟 컴퓨팅 모듈 장치(130)는 외부 데이터베이스로부터 전달된 소스 메타 데이터 정보에 포함된 소스 클러스터부(122) 내 컨테이너부의 퍼시스턴트 볼륨(persistent volume claim, PVC) 정보에 기반하여 신규 노드의 퍼시스턴트 볼륨을 구축한다.
또한, 타겟 컴퓨팅 모듈 장치(130)는 소스 클러스터부(122) 내 컨테이너부의 물리 디스크(persistent volume, PV)를 신규 노드의 물리 디스크로 복제한 후, 이동 대상 서비스 데이터에 대한 신규 노드를 생성이 완료되면 상기 구축된 퍼시스턴트 볼륨이 상기 복제된 물리 디스크에 기반하도록 변경할 수 있다.
예를 들어, 타겟 컴퓨팅 모듈 장치(130)는 스토리지 구축부(131)에 기반하여 볼륨 마이그레이션(volume migration)을 수행하여 기존 볼륨 마이그레이션의 시간 지연 관련된 문제를 해결할 수 있다.
따라서, 컨테이너 오케스트레이션 시스템(100)은 컨테이너 이동에 있어서 클러스터에 접근 가능한 설정 파일(kubeconfig) 생성 후 대상인 소스 컴퓨팅 모듈 장치(120) 및 타겟 컴퓨팅 모듈 장치(130)의 클러스터부에 동시에 접근하면서 외부 데이터 베이스의 메모리를 이용한다.
본 발명의 일실시예에 따르면 소스 컴퓨팅 모듈 장치(120)는 기존 노드의 물리 디스크 및 퍼시스턴트 볼륨을 삭제할 수 있다.
통신부(135)는 컨테이너 오케스트레이션 시스템(100) 내에서 컴퓨팅 모듈 제어 장치(110) 및 소스 컴퓨팅 모듈 장치(120)와 통신을 지원한다.
따라서, 본 발명은 다중 엣지 서버 환경에서 복수의 클러스터 장치가 하나의 플랫폼으로 동작하도록 클러스터 장치들 간의 서비스 데이터를 이동 및 배치하는 컨테이너 오케스트레이션 시스템을 제공할 수 있다.
또한, 본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 클러스터 장치들의 컨테이너들 간의 서비스 데이터가 고속 이동 및 고속 배치가 가능하도록 서비스 데이터의 이동 및 배치를 제어할 수 있다.
도 2는 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법을 설명하는 도면이다.
도 2는 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법을 순차적으로 예시한다.
도 2를 참고하면, 단계(S201)에서 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 마스터 API 서버(200)가 마스터 제어부(201)로 노드 마이그레이션 요청을 전달한다.
예를 들어, 노드 마이그레이션 요청은 사용자로부터 입력되는 노드 생성 요청에 기반하고, 노드 생성 요청은 목적 노드 정보, 타겟 노드 정보, 서비스 목적 정보 및 자원 스펙 정보를 포함한다.
예를 들어, 마스터 API 서버(200), 마스터 제어부(201) 및 고속 마이그레이션 제어부(202)는 도 1에서 설명된 컴퓨팅 모듈 제어 장치에 포함된다.
단계(S202)에서 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 마스터 제어부(201)가 고속 마이그레이션 제어부(202)로 네트워크 응답 확인 요청을 전달하고, 네트워크 응답을 수신한다.
예를 들어 네트워크 응답은 타겟 클러스터와 소스 클러스터의 네트워크 상태에 기반할 수 잇다.
단계(S203)에서 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 고속 마이그레이션 제어부(203)가 타겟 클러스터부(204)로 노드 생성 요청을 전달한다.
즉, 고속 마이그레이션 제어부(203)는 외부 데이터 베이스에 해당하는 ETCD로부터 타겟 클러스터부(204)에 생성될 노드와 관련하여 소스 클러스터부의 메타 데이터를 수집하고, 수집된 메타 데이터를 노드 생성 요청과 함께 전달함으로써 타겟 클러스터부(204)가 신규 노드를 생성하고, 생성된 신규 노드 생성 완료 보고를 전달하도록 노드 생성 요청을 전달한다.
예를 들어, 타겟 클러스터부(204)는 도 1에서 설명된 타겟 컴퓨팅 모듈 장치에 포함된다.
단계(S204)에서 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 고속 마이그레이션 제어부(203)가 소스 클러스터부(205)에 노드 삭제 요청을 전달한다.
즉, 고속 마이그레이션 제어부(203)는 타겟 클러스터부(204)에 신규 노드가 생성됨에 따라 서비스 데이터 이동을 위해 소스 클러스터부(205)의 기존 노드가 삭제되도록 노드 삭제 요청을 전달하고, 노드 삭제 결과를 수신한다.
예를 들어, 소스 클러스터부(205)는 도 1에서 설명된 소스 컴퓨팅 모듈 장치에 포함될 수 있다.
단계(S205)에서 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 소스 클러스터부(205)가 DNS 서버(206)로 DNS 도메인 할당 요청을 전달한다.
즉, 소스 클러스터부(205)는 기존 노드의 클러스터 IP를 전송하면서 DNS 도메인 할당 요청을 DNS 서버(206)로 전달하고, DNS 서버(206)로부터 DNS 도메인을 할당 받는다.
단계(S206)에서 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 DNS 서버(206)가 DNS 제어부(207)로 DNS 도메인 할당 이력을 전송한다.
여기서, DNS 제어부(207)는 DNS 도메인 할당 이력을 저장하여 DNS 도메인 정보를 갱신한다.
단계(S207)에서 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 마스터 제어부(201)가 DNS 제어부(207)로 DNS 도메인 접속 확인을 요청한다.
즉, 마스터 제어부(201)는 신규 클러스터 도메인 접속 요청을 위해 DNS 도메인 접속 확인을 요청한다.
단계(S208)에서 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 DNS 제어부(207)가 마스터 제어부(201)로 신규 클러스터 IP를 전달한다.
즉, DNS 제어부(207)가 DNS 도메인의 IP 주소를 검색하고, 검색된 IP 주소를 신규 클러스터 IP로 전달한다.
다시 말해, 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 방법은 컴퓨팅 모듈 제어 장치에서 최초 마이그레이션 요청을 진행하고, 타겟 클러스터부에서 외부 데이터 베이스의 메타 정보로 신규 노드 생성을 진행하고, 소스 클러스터부에서 생성된 신규 노드에 대응하는 기존 노드를 삭제하며, 삭제된 기존 노드에 신규 IP를 할당하고, 신규 노드에는 기존 노드의 IP가 적용됨에 따라 DNS 도메인 할당 내용을 변경할 수 있다.
따라서, 본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 사용자가 이용하는 시스템의 중단 없이 소스 클러스터 장치의 컨테이너 내 서비스 데이터를 타겟 클러스터 장치의 컨테이너로 약 50초 이내에 고속 이동 배치할 수 있다.
도 3은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 표시 화면을 설명하는 도면이다.
도 3은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 표시 화면을 예시한다.
도 3을 참고하면, 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 클러스터 간 서비스 고속 이동 표시 화면(300)은 제1 영역, 제2 영역(320) 및 제3 영역(330)으로 구분되고, 제1 영역은 제1-1 영역(310) 및 제1-2 영역(311)을 포함한다.
일례로, 제1-1 영역(310)은 이동 대상 서비스 데이터가 이동함에 있어서 시간 및 이동 대상을 표시하고, 제1-2 영역(311)은 이동 대상 서비스 데이터가 이동하는 과정을 표시한다.
본 발명의 일실시예에 따르면 컴퓨팅 모듈 제어 장치는 소스 컴퓨팅 모듈 장치의 클러스터부에서 타겟 컴퓨팅 모듈 장치의 클러스터부로 이동 대상 서비스 데이터가 이동 하는 과정, 시간 및 이동 대상을 표시하는 제1 영역을 디스플레이를 통해 표시할 수 있다.
일례로, 제2 영역(320)은 마이그레이션 요청을 생성 및 전달 관련 명령어를 표시한다.
본 발명의 일실시예에 따르면 컴퓨팅 모듈 제어 장치는 마이그레이션 요청을 생성 및 전달 관련 명령어가 입력되는 화면에 해당하는 제2 영역을 디스플레이를 통해 표시할 수 있다.
일례로, 제3 영역(330)은 사용자에 의해 입력된 명령어와 관련된 데이터 처리 과정을 프로그래밍 창을 통해 표시한다.
본 발명의 일실시예에 따르면 컴퓨팅 모듈 제어 장치는 마이그레이션 요청을 생성 및 전달 관련 명령어가 처리되는 데이터 처리 과정을 표시하는 제3 영역을 디스플레이를 통해 표시할 수 있다.
예를 들어, 제1-1 영역(310), 제1-2 영역(311), 제2 영역(320) 및 제3 영역(330)은 디스플레이를 통해 표시되는 GUI(Graphic User Interface)일 수 있다.
본 발명의 일실시예에 따르면 컴퓨팅 모듈 제어 장치는 현재 이동 중인 클러스터를 시각적으로 확인할 수 있도록 제1-2 영역(311)을 표시하도록 지원하면서, 현재 마이그레이션 진행 상황에 대하여 로그로 확인할 수 있도록 제2 영역(320) 및 제3 영역(330)의 표시를 지원한다.
또한, 컴퓨팅 모듈 제어 장치는 단계별 또는 최종 완료 시 까지 걸린 시간을 확인할 수 있도록 러닝 타임(running time)을 제1-1 영역(310)을 통해 디스플레이로 표시한다.
따라서, 본 발명은 다중 엣지 서버 환경의 대규모 분산 협업형 컨테이너 플랫폼에서 사용자가 이용하는 시스템의 중단 없이 소스 클러스터 장치의 컨테이너 내 서비스 데이터를 타겟 클러스터 장치의 컨테이너로 이동 배치하는 마이그레이션 상황을 시각적으로 제공할 수 있다.
도 4는 본 발명의 일실시예에 따른 다중 엣지 서버 환경에서 컨테이너 오케스트레이션 시스템을 설명하는 도면이다.
도 4을 참고하면, 본 발명의 일실시예에 따른 다중 엣지 서버 환경에서 컨테이너 오케스트레이션 시스템(400)은 컴퓨팅 모듈 제어 장치에 해당하는 Open MCP부(410), 소스 컴퓨팅 모듈 장치에 해당하는 제1 멤버 클러스터부(440) 및 타겟 컴퓨팅 모듈 장치에 해당하는 제2 멤버 클러스터부(450)를 포함하고, Open MCP부(410)는 글로벌 레지스트리(420) 및 외부 데이터베이스(430)와 연동한다. 예를 들어, 외부 데이터베이스(430)는 외부 etcd를 포함한다.
Open MCP부(410)는 마이그레이션부(411), 마이그레이션 매니저(412), 스냅샷 매니저(413), 저장 에이전트(414), 내부 데이터베이스(415)를 포함한다.
마이그레이션 매니저(412)는 서비스 마이그레이션 제어부, 서비스 마이그레션부를 포함하고, 스냅샷 매니저(413)는 스냅샷 제어부, 서비스 스냅샷부, 서비스 스냅샷 복구부를 포함한다.
스냅샷 매니저(413)는 스냅샷 생성 및 복구 동작을 수행하는 스냅샷 제어부에 기반한다.
스냅샷 맞춤형 리소스(Custom Resource)는 스냅샷 생성 및 복구를 요청하는 CRD와 관련된다.
저장 에이전트(414)는 가비지 제어부, 이미지 업로드부, 이미지 블록 다운로드부, 플록시 캐시부를 포함한다.
내부 데이터베이스(415)는 스케쥴러, 외부 DNS, 마스터 API 서버를 포함한다.
제1 멤버 클러스터부(440)는 API 서버(441) ETCD 데이터베이스(442), 맞춤형 리소스 제어부(443), 볼륨 스냅샷 매니저(444), 삭제부(445) 및 저장 에이전트(446)를 포함한다.
맞춤형 리소스 제어부(443)는 볼륨 스냅샷부, 콘텐츠부를 포함한다.
볼륨 스냅샷 매니저(444)는 볼륨 스냅샷 촬영부, 볼륨 CSI 및 가상 저장부를 포함한다.
볼륨 스냅샷 촬영부는 볼륨 스냅샷의 정보를 추출하여 볼륨 스냅샷 정보(volume snapshot content) 및 볼륨 스냅샷을 만드는 컨트롤러에 해당된다.
볼륨 CSI는 볼륨 스냅샷을 동작시키기 위한 클라우드 스토리지 업체별 컨트롤러에 해당한다.
가상 저장부는 NAS 기준 현 클러스터의 볼륨 스냅샷 정보가 저장될 컨테이너이다.
삭제부(445)는 디플로이먼트, 서비스, PVC(persistent volume claim) 및 스토리지 클래스를 포함한다.
제2 멤버 클러스터부(450)는 API 서버(451) ETCD 데이터베이스(452), 삭제부(453) 및 저장 에이전트(454)를 포함한다.
삭제부(453)는 디플로이먼트, 서비스, PVC(persistent volume claim) 및 스토리지 클래스를 포함한다.
저장 에이전트(454)는 프록시 캐시, 이미지 업로드부, 이미지 블록 다운로드부, 로컬 저장소를 포함한다.
외부 저장부(460)는 PV(persistent volume) 및 클라우드 저장부를 포함한다.
볼륨 스냅샷은 스냅샷 생성을 요청하는 CRD이고, 볼륨 스냅샷 컨텐츠는 볼륨 스냅샷을 토대로 스냅샷이 완료된 결과물 CRD이며, 볼륨 스냅샷 복구는 스냅샷 복구를 요청하는 CRD일 수 있다.
도 5는 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 시퀀스 다이어그램을 설명하는 도면이다.
도 5를 참고하면, 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템의 시퀀스 다이어그램은 단계(S501)에서 마스터 API 서버(500)가 마이그레이션 제어부(501)로 마이그레이션 요청을 전달한다.
예를 들어, 컴퓨팅 모듈 제어 장치는 마스터 API 서버(500), 마이그레이션 제어부(501), ETCD부(502) 및 DNS부(503)의 동작과 관련된다.
마스터 API 서버(500)는 마이그레이션 CRD를 생성하여 마이그레이션 요청을 전달한다.
단계(S502)에서 마이그레이션 제어부(501)는 ETCD부(502)로 마이그레이션을 위한 데이터 수집을 위해 클러스터 정보를 요청한다.
마이그레이션 제어부(501)는 소스 클러스터 정보를 요청하고, 소스 클러스터의 메타데이터 정보를 ETCD부(502)로부터 수신한다. 예를 들어, ETCD부(502)는 외부 데이터 베이스에 대응할 수 있다.
소스 클러스터 정보는 소스 클러스터의 기존 노드에서 사용되는 리소스가 수행하는 서비스와 관련된 정보를 포함한다.
단계(S503)에서 마이그레이션 제어부(501)는 타겟 클러스터부(520)로 타겟 클러스터 서비스 생성을 요청하고, 타겟 클러스터부(520)로부터 타겟 클러스터 서비스 생성 완료를 수신한다.
타겟 클러스터부(520)는 타겟 컴퓨팅 모듈 장치에 포함되고, 타겟 클러스터부(520)가 타겟 클러스터 서비스 생성 완료할 경우, 타겟 클러스터부(520)는 신규 노드를 포함한다.
단계(S504)에서 마이그레이션 제어부(501)는 소스 클러스터부(520)로 기존 클러스터 서비스 삭제를 요청하고, 소스 클러스터부(510)로부터 소스 클러스터 서비스 삭제 완료를 수신한다.
소스 클러스터부(510)는 소스 컴퓨팅 모듈 장치에 포함되고, 소스 클러스터부(510)가 소스 클러스터 서비스 삭제할 경우, 소스 클러스터부(520)는 기존 노드를 포함하지 않는다.
단계(S505)에서 마이그레이션 제어부(501)는 DNS부(503)에 DNS 스위칭을 요청한다.
마이그레이션 제어부(501)는 삭제된 소스 클러스터부(510)에 새로운 IP를 할당하기 위해서 DNS 스위칭을 요청한다.
단계(S506)에서 마이그레이션 제어부(501)는 DNS부(503)로부터 DNS 스위칭 완료를 수신한다.
마이그레이션 제어부(501)는 삭제된 기존 노드와 관련하여 새로운 IP가 할당되었음을 확인하는 DNS 스위칭 완료를 수신한다.
단계(S507)에서 마이그레이션 제어부(501)는 마스터 API 서버(500)로 마이그레이션 완료를 보고한다.
마이그레이션 제어부(501)는 마스터 API 서버(500)에 소스 클러스터부(510)의 컨테이너부에서의 서비스가 타겟 클러스터부(520)의 컨테이너로 이동했음을 마이그레이션 완료를 통해 보고한다.
도 6은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템에서 노드 마이그레이션 CRD의 객체를 설명하는 도면이다.
도 6은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템에서 노드 마이그레이션 CRD의 객체를 예시한다.
도 6을 참고하면, 노드 마이그레이션 CRD의 객체와 관련된 스펙 정보(600)는 컨테이너 이동과 관련되며, 현재 클러스터를 담을 객체, 순번, 클러스터 버전, 클러스터 이름 등과 관련된 함수를 포함하고 있다.
일례로, 노드 마이그레이션 CRD의 객체와 관련된 스펙 정보(600)는 서비스 이동을 요청하는 CRD와 관련될 수 있다.
본 발명의 일실시예에 따르면 컴퓨팅 모듈 제어 장치는 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부의 객체, 순번, 이름 및 버전을 정의하는 이동 CRD 스펙 정보를 포함하는 노드 마이그레이션 CRD를 생성할 수 있다.
도 7은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템에서 노드 마이그레이션 제어 함수를 설명하는 도면이다.
도 7은 본 발명의 일실시예에 따른 컨테이너 오케스트레이션 시스템에서 노드 마이그레이션 제어 함수를 예시한다.
도 7을 참고하면, 노드 마이그레이션 제어 함수를 예시(700)는 서비스이동 관련 함수와 이동 컨트롤러의 함수를 나타낸다.
함수명 "From D to N(Migration) ServiceMigration"은 클러스터 마이그레이션 호출 함수로 기능하고, 호출모듈은 OpenMCP Nanumapi일 수 있다.
다른 시스템에서 Nanum 클러스터 마이그레이션을 실행하기 위한 함수로 입력 인자와 관련된 함수는 아래 표 1과 같이 정리할 수 있다.
[표 1]
Figure pat00001
다른 시스템에서 Nanum 클러스터 마이그레이션을 실행하기 위한 함수로 출력 인자와 관련된 함수는 아래 표 2와 같이 정리할 수 있다.
[표 2]
Figure pat00002
다시 말해, 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템을 구현함에 있어서 마이그레이션 컨트롤러 함수는 표 1 및 표 2와 관련된다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 컨테이너 오케스트레이션 시스템
110: 컴퓨팅 모듈 제어 장치
120: 소스 컴퓨팅 모듈 장치
130: 타겟 컴퓨팅 모듈 장치
121: 클러스터 제어부 122: 소스 클러스터부
123: 제1 컨테이너부 124: 제2 컨테이너부
125: 통신부 131: 스토리지 구축부
132: 타겟 클러스터부 133: 제3 컨테이너부
134: 제4 컨테이너부 135: 통신부

Claims (5)

  1. 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템에 있어서,
    사용자로부터 이동 대상 서비스 데이터의 이동 및 배치를 위한 소스 노드 정보, 타겟 노드 정보, 서비스 목적 정보 및 자원 스펙 정보를 포함하는 노드 생성 요청을 수신하고, 상기 수신된 노드 생성 요청에 기반하여 노드 마이그레이션 관련 리소스를 정의하는 노드 마이그레이션 CRD(Custom Resource Definition)를 생성하며, 상기 생성된 노드 마이그레이션 CRD에 기반하여 외부 데이터 베이스에 소스 컴퓨팅 모듈 장치의 소스 클러스터부 내 컨테이너부에 대한 소스 메타 데이터 정보를 요청하여 상기 외부 데이터 베이스로부터 상기 요청된 소스 메타 데이터 정보를 수신하고, 상기 수신된 소스 메타 데이터 정보에 기반하여 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부에서 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성하고, 상기 소스 클러스터부 내 컨테이너부에서 상기 생성된 신규 노드와 관련된 기존 노드를 삭제하기 위한 마이그레이션 요청을 생성 및 전달하는 컴퓨팅 모듈 제어 장치;
    상기 전달된 마이그레이션 요청에 기반하여 상기 타겟 클러스터부 내 컨테이너부에서 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성하는 타겟 컴퓨팅 모듈 장치; 및
    상기 전달된 마이그레이션 요청에 기반하여 상기 소스 클러스터부 내 컨테이너부에서 상기 생성된 신규 노드와 관련된 기존 노드를 삭제하는 소스 컴퓨팅 모듈 장치를 포함하고,
    상기 컴퓨팅 모듈 제어 장치는 상기 신규 노드의 생성 및 상기 기존 노드의 삭제 이후에 외부 DNS(Domain Name System) 제공 장치에 상기 삭제된 기존 노드와 관련하여 소스 컴퓨팅 모듈 장치의 인터넷 프로토콜(internet protocol, IP)의 도메인 할당을 위한 DNS 도메인 할당 요청을 요청하여 상기 삭제된 기존 노드의 DNS 도메인을 변경하는 것을 특징으로 하는
    컨테이너 오케스트레이션 시스템.
  2. 제1항에 있어서,
    상기 소스 컴퓨팅 모듈 장치는 상기 소스 클러스터부 내 컨테이너부에서 상기 생성된 신규 노드와 관련된 기존 노드를 삭제하고, 상기 삭제된 기존 노드의 DNS 도메인을 변경하는 클러스터 제어부를 포함하고,
    상기 타겟 컴퓨팅 모듈 장치는 링크 공유(link share) 기능 구현하여 상기 수신된 소스 메타 데이터 정보에 기반하여 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부에서 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성하는 스토리지 구축부를 포함하는 것을 특징으로 하는
    컨테이너 오케스트레이션 시스템.
  3. 제1항에 있어서,
    상기 타겟 컴퓨팅 모듈 장치는 상기 소스 메타 데이터 정보에 포함된 상기 소스 클러스터부 내 컨테이너부의 퍼시스턴트 볼륨(persistent volume claim, PVC) 정보에 기반하여 상기 신규 노드의 퍼시스턴트 볼륨을 구축하고, 상기 소스 클러스터부 내 컨테이너부의 물리 디스크(persistent volume, PV)를 상기 신규 노드의 물리 디스크로 복제한 후, 상기 이동 대상 서비스 데이터에 대한 신규 노드를 생성이 완료되면 상기 구축된 퍼시스턴트 볼륨이 상기 복제된 물리 디스크에 기반하도록 변경하고,
    상기 소스 컴퓨팅 모듈 장치는 상기 기존 노드의 물리 디스크 및 퍼시스턴트 볼륨을 삭제하는 것을 특징으로 하는
    컨테이너 오케스트레이션 시스템.
  4. 제1항에 있어서,
    상기 컴퓨팅 모듈 제어 장치는 상기 소스 컴퓨팅 모듈 장치의 클러스터부에서 상기 타겟 컴퓨팅 모듈 장치의 클러스터부로 상기 이동 대상 서비스 데이터가 이동 하는 과정, 시간 및 이동 대상을 표시하는 제1 영역, 상기 마이그레이션 요청을 생성 및 전달 관련 명령어를 표시하는 제2 영역 및 상기 표시된 명령어와 관련된 데이터 처리 과정을 표시하는 제3 영역을 디스플레이를 통해 표시하는 것을 특징으로 하는
    컨테이너 오케스트레이션 시스템.
  5. 제1항에 있어서,
    상기 컴퓨팅 모듈 제어 장치는 상기 타겟 컴퓨팅 모듈 장치의 타겟 클러스터부 내 컨테이너부의 객체, 순번, 이름 및 버전을 정의하는 이동 CRD 스펙 정보를 포함하는 상기 노드 마이그레이션 CRD를 생성하는 것을 특징으로 하는
    컨테이너 오케스트레이션 시스템.
KR1020210153093A 2021-11-09 2021-11-09 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템 KR20230067224A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210153093A KR20230067224A (ko) 2021-11-09 2021-11-09 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210153093A KR20230067224A (ko) 2021-11-09 2021-11-09 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템

Publications (1)

Publication Number Publication Date
KR20230067224A true KR20230067224A (ko) 2023-05-16

Family

ID=86546171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210153093A KR20230067224A (ko) 2021-11-09 2021-11-09 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템

Country Status (1)

Country Link
KR (1) KR20230067224A (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101807806B1 (ko) 2017-05-02 2017-12-11 나무기술 주식회사 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법
KR102076626B1 (ko) 2018-07-12 2020-05-18 광주과학기술원 클라우드 컴퓨팅 시스템에서 가상 머신 재배치 방법
KR20210031829A (ko) 2019-09-13 2021-03-23 구글 엘엘씨 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션
KR20210060364A (ko) 2019-11-18 2021-05-26 주식회사 위즈온텍 하이브리드 클라우드를 지원하는 엣지 서버 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101807806B1 (ko) 2017-05-02 2017-12-11 나무기술 주식회사 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법
KR102076626B1 (ko) 2018-07-12 2020-05-18 광주과학기술원 클라우드 컴퓨팅 시스템에서 가상 머신 재배치 방법
KR20210031829A (ko) 2019-09-13 2021-03-23 구글 엘엘씨 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션
KR20210060364A (ko) 2019-11-18 2021-05-26 주식회사 위즈온텍 하이브리드 클라우드를 지원하는 엣지 서버 시스템

Similar Documents

Publication Publication Date Title
CA3092364C (en) Live migration of clusters in containerized environments
CN109196474B (zh) 计算系统中的分布式操作控制
CN108475251B (zh) 针对容器的虚拟网络、热交换、热缩放与灾难恢复
JP7092736B2 (ja) コンテナオーケストレーションサービスを使用した動的ルーティング
US8615588B2 (en) Accelerate copying of virtual machine images
US20210224100A1 (en) Virtual machine migration using multiple, synchronized streams of state data
US9871851B2 (en) Migrating private infrastructure services to a cloud
US9674275B1 (en) Providing a file system interface to network-accessible computing resources
US20210006636A1 (en) Apparatuses and methods for edge computing application deployment in an iot system
US10116735B2 (en) Service migration across cluster boundaries
CN108513657B (zh) 数据转换方法及备份服务器
US9292215B2 (en) Managing virtual hard disk snapshots
US20190334765A1 (en) Apparatuses and methods for site configuration management
US10740133B2 (en) Automated data migration of services of a virtual machine to containers
WO2009098909A1 (ja) 仮想アプライアンス配備システム
CN113196237A (zh) 计算系统中的容器迁移
WO2015083255A1 (ja) 計算機システム及び仮想マシンの制御方法
US11271895B1 (en) Implementing advanced networking capabilities using helm charts
CN115965517B (zh) 图形处理器资源管理方法及装置、电子设备和存储介质
US9935830B1 (en) Cloud management system and method for disparate computing nodes in a cloud computing environment
US20220357974A1 (en) Container creation in a computing system
KR20150113353A (ko) 가상 데스크탑 이미지를 분산 저장 및 블록 레벨로 입출력하는 서버 시스템
KR101967300B1 (ko) 가상머신 이미지 생성 자동화 방법 및 장치
KR20230067224A (ko) 다중 엣지 서버 환경에서 클러스터 장치들 간의 서비스 데이터의 이동 및 배치를 제어할 수 있는 컨테이너 오케스트레이션 시스템
US11588712B2 (en) Systems including interfaces for communication of run-time configuration information

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application