CN111324416A - 容器管理系统中的应用部署 - Google Patents

容器管理系统中的应用部署 Download PDF

Info

Publication number
CN111324416A
CN111324416A CN201911286143.2A CN201911286143A CN111324416A CN 111324416 A CN111324416 A CN 111324416A CN 201911286143 A CN201911286143 A CN 201911286143A CN 111324416 A CN111324416 A CN 111324416A
Authority
CN
China
Prior art keywords
application
hibernator
deployment
transitioning
inactive state
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201911286143.2A
Other languages
English (en)
Inventor
A·K·古普塔
A·V·班德
P·P·纳塔拉杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN111324416A publication Critical patent/CN111324416A/zh
Pending legal-status Critical Current

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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
    • 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/5022Mechanisms to release resources
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/45575Starting, stopping, suspending or resuming 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/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开的实施例涉及容器管理系统中的应用部署。一种容器管理系统和设备,包括:休眠器部署,用于确定为被生成以在容器管理系统中执行部署的应用定义的语义,确定应用在该语义内包括的对应时间段期间是否是活动的,以及从响应于在为应用定义的语义中包括的对应时间段期间该应用是不活动的,将应用从活动状态转移到不活动状态。

Description

容器管理系统中的应用部署
技术领域
本公开的实施例涉及容器管理系统中的应用部署,更具体地,涉及一种容器管理系统和设备。
背景技术
对于企业数据存储,集群可以指的是独立的计算节点(服务器)的物理连接以及用于控制集群的节点的管理的控制功能。控制功能可以将工作负载分配到每个节点,管理节点之间的工作负载转移,或两者。这样的集群可以包括共享的存储系统,以及在直接附加到可以使用的每个节点的存储系统中复制数据的机制。通用存储集群应用为关键进程提供故障转移功能,并为高性能进程实现负荷平衡。操作容器化可以是操作系统(OS)级别的虚拟化方法,用于部署和运行分布式操作,而无需为每个操作启动整个虚拟机(VM)。多个隔离的操作在单个主机上运行,并访问相同的OS内核。例如容器Linux(以前称为CoreOS Linux)可以是为容器构建的首批容器操作系统之一。软件容器是OS虚拟化的一种形式,其中正在运行的容器包括最少的操作系统资源、存储器和用于运行操作的服务。
发明内容
本公开的实施例涉及容器管理系统中的应用部署。
根据本公开的第一方面,提供了一种容器管理系统。该容器管理系统包括多个工作者节点,所述容器管理系统的服务在所述多个工作者节点内操作以执行应用;以及休眠器部署,其中所述休眠器部署用于:确定为所述应用定义的语义;确定所述应用在所述语义内包括的对应时间段期间是否活动;以及响应于所述应用在为所述应用定义的所述语义内包括的所述对应时间段期间不活动,将所述应用从活动状态转移到不活动状态。
根据本公开的第二方面,提供了一种设备。该设备包括多个应用,被生成以在容器管理系统中执行部署;以及休眠器部署,其中所述休眠器部署用于监视所述多个应用;确定为所述多个应用定义的语义;确定所述多个应用中的应用在所述语义内包括的对应时间段内是否活动;以及响应于所述应用在为所述应用定义的所述语义内包括的所述对应时间段期间不活动,将所述应用从活动状态转移到不活动状态。
根据本公开的第三方面,提供了一种非暂时性计算机可读介质。该非暂时性计算机可读介质具有用于执行方法的指令,所述方法包括由容器管理系统的休眠器部署监视应用;确定为所述应用定义的语义;确定所述应用在所述语义内包括的对应时间段期间是否活动;以及响应于所述应用在为所述应用定义的所述语义内包括的所述对应时间段期间不活动,将所述应用从活动状态转移到不活动状态。
附图说明
图1是与本公开一致的示例性容器管理系统的示意图。
图2是与本公开一致的容器管理系统的休眠器部署的示例操作的示意图。
图3A是与本公开一致的应用从活动状态到不活动状态的示例转移的示意图。
图3B是与本公开一致的应用从不活动状态到活动状态的示例转移的示意图。
图4是与本公开一致的将应用从活动状态转移到不活动状态的示例方法的流程图。
图5是与本公开一致的将应用从活动状态转移到不活动状态的示例方法的流程图。
图6是与本公开一致的将应用从不活动状态转移到活动状态的示例方法的流程图。
具体实施方式
例如诸如Kubernetes容器管理系统的数据中心操作系统可以包括免费和开源的容器管理系统,该容器管理系统提供用于部署、维护和扩展容器化管理系统的机制。这种系统旨在提供用于在主机集群之间自动进行应用的部署、扩展和操作的平台,并利用命令行界面(CLI)允许对容器管理系统中的集群运行命令。可以定义命令,这些命令可用于构造CLI来管理集群,并从命令中收集信息,以便可以创建、分组、更新和/或删除集群资源或服务。通过这种方式,容器管理系统定义了构建块或原语的集合,它们共同提供了诸如CLI的部署、维护和扩展操作的机制。
容器管理系统是可扩展的,以满足不同的工作负载。这种可扩展性在很大程度上由应用编程接口(API)提供,该接口由内部组件以及在容器管理系统上运行的扩展和容器使用。
容器管理系统的基本调度单元是盒(Pod),其通过对容器化的组件进行分组来添加更高级别的抽象。一个盒由一个或多个容器组成,这些容器将共同位于主机上并可以共享资源。容器管理系统中的每个盒在盒集群中分配了唯一的IP地址,这允许应用可以使用端口,同时最小化冲突风险。盒可以定义卷,诸如本地盘目录或网络盘,并且可以将其公开给盒中的容器。可以通过API手动管理盒,也可以将其管理委派给控制器。
此外,容器管理系统可以包括便携式、可扩展的开源平台,用于管理容器化的工作负载和服务,以提供以容器为中心的管理环境,并代表用户工作负载来协调计算、联网和存储基础设施。容器管理系统可以包括向容器管理系统中的每个容器分配唯一的IP,该IP可被主机集群中的任何其他容器寻址。组件之间的所有操作和通信以及外部用户命令均使用经由应用编程接口(API)发送的代表性状态传输(REST)命令进行。API服务器接收发送的REST命令。因此,容器管理系统平台中的每个对象都被视为API对象,并且具有API的对应入口。API对象用于描述集群的状态,包括用于运行的应用或其他工作负载、它们使用的什么容器映像、副本数量、节点状态、可用的什么网络和盘资源等等。通过通常是经由命令行界面来使用API创建对象来设置状态。该API也可以直接用于与集群交互并设置或修改所需状态。
容器管理集群基于集群的调度策略来跨集群的节点部署应用。尽管有大量的应用正在盒的集群中,但某些应用可以仅基于数据可用性定期运行(例如每天、每周)。但是,在不使用期间,应用会继续消耗资源(例如CPU、存储器等),这可以导致资源利用效率低下和资源成本增加,以及在具有固定资源的环境中降低的系统性能和增加的扩展问题。
因此,本公开涉及实现为单个或多个微服务的休眠器部署的使用,该休眠器部署监视容器管理系统的集群上的应用以确定包括为应用定义的“不活动时休眠”语义的那些应用,并且当休眠器部署确定在诸如例如十(10)分钟的预定时间段内应用未在服务端口上接收到数据分组时,将应用置于休眠或不活动状态。当应用被置于休眠状态时,休眠器部署会将来自休眠应用服务端口的业务转向到休眠器部署。休眠器部署代表休眠的应用监视服务端口,并且当休眠器部署在休眠的应用的端口上接收到传入的分组时,休眠器部署会缓存一个或多个传入的分组,并将休眠的应用从休眠状态中移除。一旦将休眠的应用从休眠状态中移除,该应用的业务流便会被恢复,并将缓存的数据分组中继到该应用以恢复该应用的处理。
本文中的附图遵循编号传统,其中第一位数字对应于附图编号,其余数字标识图中的元件或组件。例如附图标记216表示图2中的元件“216”,并且类似的元件可以由图3B中的附图标记316标识。图中的类似元件可以用连字符和额外的数字或字母表示。参见,例如图1中的元件120-1和112-N。通常可以在没有连字符和额外的数字或字母的情况下引用这种类似的元件。例如元件121-1和121-N可以被统称为121。可以添加、交换和/或消除本文各个图中所示的元件,以便提供本公开的多个附加示例。另外,附图中提供的元件的比例和相对比例旨在说明本公开的示例,而不应被认为是限制性的。
图1是与本公开的示例一致的容器管理系统100的示意图。如图1的示例所示,根据本公开的容器管理系统可以包括:主节点102,负责管理容器管理系统100;以及多个工作者节点104-1,…,104-N(下文统称为工作者节点104),容器管理系统100的服务正在其中操作以运行请求的应用。这种请求的应用的示例可以包括诸如创建部署、删除部署、更新部署等操作。尽管为了简洁起见在图1中示出了两个工作者节点104,但是应当理解,容器管理系统100可以包括用于工作者节点104的集群的两个以上的工作者节点104(例如诸如N个工作者节点104)。
主节点102可以是容器管理系统100的所有管理任务的入口点,并且可以负责编排一个或多个工作者节点104,在该节点内,容器管理系统100的用于生成应用的服务位于其中。主节点102包括API服务器106,API服务器106经由主节点102提供对容器管理系统的内部和外部接口访问两者。API服务器106从诸如例如kubectl命令行界面的命令行(CL)界面工具108接收被称为代表性状态转移(REST)命令的命令。REST命令提供了体系结构约束集合,这些体系结构约束集合在整体上被应用时会强调组件交互的可扩展性、接口的通用性、组件的独立部署、以及中间组件。API服务器106处理REST命令请求,验证命令,并执行在命令内的逻辑。
由API服务器106处理的REST命令的结果被存储在存储组件110中,诸如例如etcd存储组件,存储组件110被包括在主节点102内。存储组件110可靠地存储工作节点104的集群的配置数据,该配置数据表示集群的状态(即,集群中哪些节点可用、应该运行哪些盒、应该在哪些节点上运行、等等)。存储组件110是主要用于共享配置和服务目录的分布式键值存储。存储组件110为API服务器106接收到的REST命令提供存储,以执行创建-更新-删除(CRUD)操作以及在特定节点上注册观察者的界面,从而提供了一种可靠的方式来通知容器管理系统100的其余节点关于容器管理系统100中配置改变。例如存储组件110中的共享信息使API服务器106可以将有关配置改变通知容器管理系统100中的整个工作者节点104的集群关于诸如正在计划、创建和部署的作业、盒/服务详细信息和状态、名称空间和复制信息、等等的配置改变。
主节点102还包括调度器112和控制器管理器114。调度器112可以被包括在主节点102中,以将盒和服务部署到工作者节点104上。调度器112包括关于容器管理系统100上的可用资源以及用于服务运行的资源的信息。因此,调度器112做出关于在何处部署特定服务的决定。控制器管理器112使用API服务器106来监视容器管理系统100的共享状态。例如控制器管理器114可以对容器管理系统100的当前状态进行正确的改变以将当前状态改变为另一状态,重新创建失败的盒或移除盒。另外,主节点102可以包括DNS服务器107,诸如例如其在工作者节点104的集群上调度DNS盒和服务,并且配置kubelet以指令各个容器使用DNS服务的IP来解析DNS条目(entry)109。
多个盒s 116-1,...,116-N(以下统称为盒116)共同位于工作者节点104中的每一个中,并且一个或多个容器118-1,...,118-N(以下统称为容器118)位于盒116中的每一个中。容器118共同位于主机(容器正在运行的机器,即工作者节点)上,并且可以共享资源。盒116是Kubernetes中的基本调度单元,它通过对共享资源的容器化组件进行分组来添加更高级别的抽象,诸如存储、Linux命名空间、cgroup、IP地址等。在容器管理系统100中为盒116中的每一个分配了唯一的IP地址,该地址允许应用使用端口而没有冲突的风险。盒116中的每一个可以定义卷,诸如本地盘目录或网络盘,并将该卷暴露给盒116内的容器118。盒116可以通过API服务器106手动管理,或者盒116的管理可以被委托给控制器。
容器118将正在运行的应用与库和组件或服务一起存储,以运行需要运行应用的软件。这些组件包括文件、环境变量、依赖项和库。主机操作系统(在节点上运行的操作系统,即容器)将容器118的访问限制到物理资源,诸如CPU、存储装置和存储器,因此诸如容器118-1的单个容器无法占用主机的所有物理资源。另一方面,客户主机操作系统包括安装在虚拟机或分区盘上的指令,这些指令描述了与主机操作系统不同的操作系统。因此,主机操作系统被安装在计算机上并与基础硬件交互,而客户操作系统位于虚拟机上。
单个工作者节点104中包括的盒116基于服务器和服务本身的状态,被创建、销毁和重新创建,并且因此可以不旨在长时间持续存在。由于盒116的相对较短的寿命,因此盒116所服务的IP地址可以改变,从而使相关联的微服务的通信变得困难。因此,Kubernetes引入了服务的概念,它是在多个盒116之上的抽象,通常使用代理以便在服务之上运行,以便其他服务经由虚拟IP地址进行通信。结果,可以为多个盒116建立负载平衡,从而可以经由服务来公开盒。盒116可以被重新创建并且对其对应的IP协议进行改变。因此,创建具有稳定的IP和DNS名称的服务,这些服务可以由其他盒用来与盒116通信。例如考虑运行三个副本的图像处理后端。这些副本是可替代的(fungible)-也就是说,前端不在乎它们使用哪个后端。虽然组成后端集合的实际盒116可以改变,但前端客户端可以不会意识到这些更改,或者可能无法跟踪后端列表。容器管理系统100的容器118中的服务中的每一个都被分配了域名服务(DNS)名称,其包括标识该服务所在的盒116的名称以及标识该服务的名称的DNS名称的一部分。
工作者节点104中的每一个包括节点代表,诸如例如kubelet,(例如工作者节点104-1包括节点代表120-1,以下节点代表120-1,…,120-N被统称为节点代表120)和代理,诸如例如kube-proxy(例如工作者节点104-1包括代理122-1,以下代理122-1,…,122-N统称为代理122)。节点代表120与主节点102通信,并且从API服务器106接收用于盒116的配置的细节。节点代表120使用所接收的细节来确保所构造的容器118如预期地操作。另外,节点代表120还可以从存储装置110接收关于特定服务的信息,以获得与服务有关的信息并创建与新生成或创建的服务有关的细节。
代理122中的每一个充当网络代理或通过其转移请求的集线器,并充当单个工作者节点104上的服务的负载平衡器,该单个工作者节点104充当反向代理并跨多个服务器来分配网络或应用业务。负载平衡器用于增加容量(并发用户)和操作的可靠性,并为传输控制协议(TCP)和用户数据协议(UDP)分组执行网络路由。代理122负责将业务路由到适当的容器118,以便能够基于IP地址和用于创建应用的传入请求的编号来访问服务。
这样,可以将工作者节点104的资源组合在一起并进行标识,以便在将应用或程序被创建或部署到容器管理系统100上时,用于创建和运行该应用的程序或服务位于整个单个工作者节点104中。如果添加或删除了节点104中的任意一个,则容器管理系统100能够通过组合来自不同节点104的资源或使用节点104内部的不同服务的组合来创建或部署程序或服务。
为了在例如诸如Kubernetes系统的容器化管理系统中部署容器化应用,可以将用于提供有关如何创建和更新用于创建期望应用的服务的指令的部署配置经由诸如例如kubectl命令行界面的命令行界面108输入到主节点102。一旦主节点102已经接收到关于如何创建和更新用于创建期望的应用的服务的指令,则主节点102的API服务器106将应用调度到容器管理系统100的工作者节点104的群集中的各个工作者节点104上,以使用容器管理系统100的多个不同容器116的多个不同容器118中的多个不同服务的组合来创建应用。以这种方式,使用位于一个或多个工作者节点104内的一个或多个盒内的一个或多个容器116内的多个容器118中的服务组合来创建应用。
一旦已经创建并调度了应用,则主节点102连续监视盒116。如果主节点102确定位于盒116的容器118之一内的用于该应用的服务中断或被删除,则主节点102使用容器管理系统100的盒116的容器118内的服务来重新启动已删除的或非正在操作的服务。通过这种方式,API服务器106监视盒116的功能,并且当盒116不再按预期运行时,可以重新创建盒116。
每个工作者节点104包括休眠器部署(例如工作者节点104-1包括休眠器部署124-1,下文将休眠器部署124-1,...,124-N统称为休眠器部署124)。如上所述,容器118中的每一个将正在运行的应用与库和组件或服务一起存储,以运行为应用运行操作所需的软件。当用户经由CL界面108输入命令时,该命令可以包括用于运行该应用的指令的多种语义。当在诸如例如十(10)分钟的指定的时间段内不使用该应用时,例如诸如“不活动时休眠”的语义可以被包括在形成由用户指令该应用将被休眠或被转移到不活动状态的命令的配置文件中。
休眠器部署124可以监视其在容器管理系统100的工作者节点104的相应集群上的对应应用,并标识包括为该应用定义的“不活动时休眠”语义的那些应用。当休眠器部署124确定应用包括“不活动时休眠”语义并且在即例如十(10)分钟的指定的时间段内未在服务端口上接收到数据分组两者时,休眠器部署124将应用转移到不活动状态。
当应用处于不活动状态时,休眠器部署124将来自休眠应用的服务端口的业务转向到休眠器部署124。休眠器部署124代表休眠的应用监视服务端口,并且当休眠器部署124在休眠的应用的端口上接收到传入的分组时,休眠器部署会缓存一个或多个传入的分组,并将休眠的应用从不活动状态转移到活动状态。一旦休眠的应用从不活动状态转移到活动状态后,将恢复应用的操作,并将缓存的分组中继到应用以恢复处理,如下所述。
图2是根据与本公开一致的示例的容器管理系统204的休眠器部署224的操作的示意图。如上所述,当主节点经由命令行界面接收到有关如何创建和更新用于创建特定应用的服务的指令时,API服务器206通过使用多个不同服务的组合来调度工作者节点204上的API服务或应用240,这些不同服务位于工作者节点204集群的多个不同盒216的多个不同容器218中。应用240是在一个或多个工作者节点204上运行的一组盒218。每个应用240包括盒标签查询,该盒标签查询定义具有容器216的盒218,容器216包含将用于处理应用240的服务。
工作者节点204上的代理222,如图2的多个箭头247-1,...247N(以下统称为箭头247)所指示,将业务路由到适当的一个或多个容器218,用于创建应用240所需的服务位于其中以便用于获得对容器218的访问的应用240的服务端点基于相关联的盒216的IP地址来被标识。代理222更新用于应用240的iptable 242,通过iptables 242,可以控制传入和传出分组流,其包括用于捕获到适当容器218的服务的业务的盒216的IP地址,以及来自用于创建应用的客户端242的传入请求243的编号。代理222的iptable 242的这种更新能够实现基于盒216的IP地址来访问一个或多个盒216内的容器218内的服务。
当用户经由CL接口输入命令以创建应用240时,用户可以在命令内包括注释,该注释指令当在诸如例如十(10)分钟的指定时间段内不使用应用240时将休眠应用240。例如诸如“不活动时休眠”的语义可以被包括在形成命令的配置文件中,并且可以包括指定的不活动时间段。休眠器部署224可以基于休眠器部署224标识为包括“不活动时休眠”语义的那些应用240,在工作者节点204的集群上周期性地创建针对不活动要被监视的应用240的列表。以此方式,休眠器部署224随后监视对于不活动时段要被监视的应用240的列表中包括的应用240的服务端口上的分组流。休眠器部署224可以响应于以下两者来确定是否将受监视的应用240从活动状态转移到不活动状态:确定对于应用240存在语义,即,应用240是包括在所创建的针对不活动而被监视为的应用240的列表中的应用240;以及确定应用240在“不活动时休眠”语义内指示的时间段内不活动。
图3A是根据与本公开一致的示例的将应用从活动状态转移到不活动状态的示意图304。休眠器部署324可以周期性地(例如每30分钟)监视当前创建的针对不活动而被监视的应用的列表,并且如没有从客户端344延伸到应用340的箭头343指示,当休眠器部署324确定如在“不活动时休眠”语义内针对应用340所指示,在例如十分钟(10)分钟的不活动的时间段内,没有从客户端344接收到对应用340的请求,则休眠器部署324可以确定应用340要被休眠。因此,休眠器部署324将应用340从活动状态转移到不活动状态。
例如为了将应用340从活动状态转移到不活动状态,休眠器部署324可以将应用340的副本集合按比例缩小或从当前值减少到零,以防止应用340运行。副本集合通过提供应用的多个版本来提供冗余,以便在一个或多个版本的应用发生故障时可以防止出现问题。通过具有容器的多个副本集或版本,能够实现更轻松地将业务发送到不同的实例或容器,以防止单个实例或盒过载。在不活动状态下,以使应用340的服务端点由休眠器部署324从位于与应用340关联的盒316转变到位于冬眠器部署324处的方式,可由休眠器部署324改变服务策略,如通过移除图2中所示的箭头247和添加图3A中的箭头345所指示的。因此,在应用340处于不活动状态时从客户端344接收的用于访问应用340的任何后续请求将在休眠器部署324处而不是在盒316处终止,并且因此可以由休眠器部署324检测到。
此外,当应用340处于不活动状态时,来自主节点与和应用340有关的工作者节点之间的API交互的分组将转变为由休眠器部署324接收。休眠器部署324然后可以代表休眠的应用340监视服务端口,并且当休眠器部署324接收到应用340的传入分组,诸如HTTP GETAPI(REST分组)时,休眠器部署324然后可以当应用340处于不活动状态时将应用340的任何一个或多个传入分组缓存在存储装置中。
以这种方式,通过在缺少用于访问应用的客户端请求所指示的不使用的不活动时段期间,通过将应用340从图2所示的活动状态转移到图3A所示的不活动状态,可以减少应用340的工作者节点304集群的资源(CPU、存储器等)的不必要消耗,导致降低低效的资源利用率和成本,并提高系统性能并减少针对集群的扩展问题。
图3B是根据与本公开一致的示例的将应用从不活动状态转移到活动状态的示意图304。当应用340处于不活动状态并且休眠器部署324确定从客户端344接收到后续请求343以访问应用340时,休眠器部署324确定将应用340从图3A中所示的不活动状态转移到图2中所示的活动状态。例如当确定接收到后续请求343时,如图3B中所示,当应用340处于图3A所示的不活动状态时,应用340的服务端点由休眠器部署324从位于休眠器部署324转移到位于与应用340关联的盒316。
另外,从不活动状态到活动状态的转移可以包括:休眠器部署324将应用340处于不活动状态时由休眠器部署324存储的分组转移到盒316,用于在盒316处的应用340的恢复处理。结果,从客户端344接收到的用于访问应用340的后续请求343将转变为在盒316处而不是在休眠器部署324处终止,并且因此,一旦将应用340由休眠器部署324从图3A所示的不活动状态转移到图2所示的活动状态,来自主节点和与应用340有关的工作者节点之间的API交互的分组将恢复到在盒316处被接收。
图4是本公开一致的将应用从活动状态转移到不活动状态的示例方法450的流程图。当用户经由CL界面输入命令以创建应用时,用户可以创建命令以包含注释,该注释指令当应用在诸如十(10)分钟的指定的时间段内不使用时将被休眠。例如诸如“不活动时休眠”的语义可以被包括在形成命令的配置文件中,并且可以包括指定的不活动时间段,在此之后请求应用被休眠,即从活动状态转移到不活动状态。在452处,方法450可以包括周期性地监视容器管理系统的应用,例如诸如每30分钟监视一次。在454处,方法450可以包括确定所监视的应用是否包括预定语义。在一个示例中,预定语义可以是为应用定义的“不活动时休眠”的语义,其指示在应用处于不活动状态时期间应将应用从活动状态转换为不活动状态,诸如当应用例如在10分钟内是不活动的。
在456处,方法450可以包括确定具有预定语义的应用是否是活动的,例如通过包括在语义内的所指示的时间段内从客户端接收到的用于访问该应用的请求来指示。例如如果在语义中定义的预定时间段(诸如例如10分钟)期间没有接收到对应用的客户端请求,则可以确定该应用不是活动的,即不活动(456中为否)。另一方面,如果在预定时间段内存在已经发生针对该应用的一个或多个客户端请求,则该应用可以被确定为活动的(456中为是)。
如果确定应用是活动的,则该应用继续处于活动状态,并且在452继续监视应用。在458,方法450可以包括:响应于确定该应用不活动,应用从活动状态转移到不活动状态。例如为了将应用从活动状态转移到不活动状态,可以将应用的副本集合缩小为零。另外,可以进行服务策略改变,以便将应用的服务端点从与该应用相关联的工作节点的盒转变到休眠器部署,以便在应用处于不活动状态时对应用的后续请求将终止在休眠器部署而不是在工作者节点的盒处。
因此,在一个示例中,一种将应用从活动状态转移到不活动状态的方法可以包括通过容器管理系统的休眠器部署来监视应用,确定为该应用定义的语义,以及当应用不活动时并且基于为应用定义的语义,将该应用从活动状态转移为不活动状态。
以这种方式,通过在不使用应用的不活动时间段内将应用从活动状态转移到不活动状态,可以减少应用不必要地消耗工作者节点集群的资源(CPU、存储器等)的情况,导致降低低效的资源利用率和成本,并提高系统性能并减少针对集群的扩展问题。
图5是根据与本公开一致的示例的将应用从活动状态转移到不活动状态的示例方法560的流程图。在一些示例中,休眠器部署可以基于休眠器部署标识为包括“不活动时休眠”语义的那些应用,在工作者节点集群上创建针对不活动而被监视的应用的列表。以这种方式,在562处,方法560可以包括由休眠器部署周期性地(例如每30分钟)更新要针对不活动而被监视的应用的列表。在564处,方法560可以包括:响应于列表被更新,随后由休眠器部署监视在针对不活动性周期被监视的应用列表中包括的应用的服务端口上的分组流。
在566处,方法560可包括由休眠器部署来确定应用列表上的应用何时不活动。例如如果在语义中定义的诸如例如十(10)分钟的预定时间段内没有接收到对应用的客户端请求,则该应用可以被确定为不活动。另一方面,如果在预定时间段内已经接收到针对该应用的一个或多个客户端请求,则该应用可以被确定为活动的,因此不是不活动的。
在568处,方法560可以包括:当应用被确定为不活动时,由休眠器部署确定将应用从活动状态转移到不活动状态。为了将应用从活动状态转移到不活动状态,休眠器部署可以将应用的副本集合按比例缩小或从当前值减少到零。副本集合通过提供应用的多个版本来提供冗余,以便在应用的一个或多个版本发生故障时可以防止出现问题。通过具有容器的多个副本集或版本,使得可以更轻松地将业务发送到不同的实例或容器,以防止单个实例或盒过载。
在570处,方法560可以包括在将应用从活动状态转移到不活动状态期间,以使得该应用的服务端点被由休眠器部署从位于与应用相关联的盒处转移到位于休眠器部署处的方式,由休眠器部署改变用于该应用的服务策略。结果,在应用处于不活动状态时收到的任何后续访问应用的请求将在休眠器部署而不是盒处终止,因此将由休眠器部署检测到。
在572处,方法560可以包括:当应用转移到不活动状态时,由休眠器部署将来自主节点和与应用有关的工作者节点之间的API交互的分组转变到休眠器部署而不是盒。然后,休眠器部署可以代表休眠的应用监视服务端口,并且在574,当休眠器部署接收到该应用的一个或多个传入分组时,休眠器部署可以在应用处于不活动状态时,为应用存储传入的一个或多个分组。
图6是与本公开一致的将应用从不活动状态转移到活动状态的示例方法670的流程图。在672处,方法670可以包括:当应用处于不活动状态时,休眠器部署监视应用的服务端口并确定何时在服务端口处接收到访问应用的请求。在674处,方法670可以包括,一旦由休眠器部署在用于该应用的服务端口处接收到访问应用的请求,则休眠器部署将应用从不活动状态转移到活动状态。
例如为了在674处将应用从不活动状态转移到活动状态,休眠器部署可以将应用的副本集合从用于将应用从活动状态转移到不活动状态的缩减值(即,例如从零)扩展到当应用处于活动状态时应用所利用的初始值。在676处,方法670可以包括由休眠器部署转变的应用的服务端点从位于休眠器部署处转变为位于具有容器的工作者节点的盒处,该容器包括与执行该应用相关联的服务。
在678处,方法670可以包括:在应用从不活动状态到活动状态的转移期间,休眠器部署将在应用340处于不活动状态时由休眠器部署存储的分组转移到用于创建应用的盒处,即工作节点的盒具有包括与执行应用相关联的服务的容器。然后,可以将转移的分组用于应用的恢复过程。
结果,一旦将应用从不活动状态转移到活动状态,接收到的用于访问应用的后续请求将转换为在工作节点的盒处终止而不是在休眠器部署处终止,工作者节点具有包括与执行该应用相关联的服务的容器。此外,一旦应用通过休眠器部署从不活动状态转移到活动状态后,因此,来自主节点和与该应用有关的工作者节点之间的API交互的分组将恢复在工作者节点的盒处接收,工作者节点具有包括与执行该应用相关联的服务的容器。
在本公开的前述详细描述中,参考了构成本公开的一部分的附图,并且在附图中通过说明的方式示出了如何实践本公开的示例。足够详细地描述了这些示例,以使本领域普通技术人员能够实践本公开的示例,并且应当理解,在不脱离本公开的范围的情况下,可以利用其他示例,并且可以进行工艺、电气和/或结构改变。
本文中的附图遵循编号传统,其中第一位数字对应于附图编号,其余数字标识附图中的元件或组件。可以添加、交换和/或消除本文各个图中所示的元件,以便提供本公开的多个附加示例。另外,在附图中提供的元件的比例和相对缩放旨在说明本公开的示例,而不应被认为是限制性的。

Claims (21)

1.一种容器管理系统,包括:
多个工作者节点,所述容器管理系统的服务在所述多个工作者节点内操作以执行应用;以及
休眠器部署,其中所述休眠器部署用于:
确定为所述应用定义的语义;
确定所述应用在所述语义内包括的对应时间段期间是否活动;以及
响应于所述应用在为所述应用定义的所述语义内包括的所述对应时间段期间不活动,将所述应用从活动状态转移到不活动状态。
2.根据权利要求1所述的容器管理系统,其中所述休眠器部署用于响应于将所述应用从所述活动状态转移到所述不活动状态,将所述应用的副本集合减少为零。
3.根据权利要求1所述的容器管理系统,其中所述休眠器部署用于响应于将所述应用从所述活动状态转移到所述不活动状态,将所述应用的服务端点从在所述应用处被终止转变为在所述休眠器部署处被终止。
4.根据权利要求1所述的容器管理系统,其中所述休眠器部署用于:
响应于将所述应用从所述活动状态转移到所述不活动状态,将与所述应用有关的分组从在所述应用处被接收转变为在所述休眠器部署处被接收;以及
在所述应用处于所述不活动状态时,存储在所述休眠器部署处被接收到的分组。
5.根据权利要求1所述的容器管理系统,其中所述休眠器部署用于:
在所述应用处于所述不活动状态时,确定用于访问所述应用的请求是否被接收到;以及
响应于用于访问所述应用的所述请求被接收到,将所述应用从所述不活动状态转移到所述活动状态。
6.根据权利要求5所述的容器管理系统,其中所述休眠器部署用于响应于将所述应用从所述不活动状态转移到所述活动状态,增加所述应用的副本集合。
7.根据权利要求5所述的容器管理系统,其中所述休眠器部署用于响应于将所述应用从所述不活动状态转移到所述活动状态,将所述应用的服务端点从在所述休眠器部署处被终止转变为在所述应用处被终止。
8.根据权利要求5所述的容器管理系统,其中所述休眠器部署用于:
响应于将所述应用从所述不活动状态转移到所述活动状态,将与所述应用有关的分组从在所述休眠器部署处被接收转变为在所述应用处被接收;以及
响应于将所述应用从所述不活动状态转移到所述活动状态,将在所述应用处于所述不活动状态时被存储在所述休眠器部署处的、与所述应用有关的分组下载到所述应用。
9.一种设备,包括:
多个应用,被生成以在容器管理系统中执行部署;以及
休眠器部署,其中所述休眠器部署用于:
监视所述多个应用;
确定为所述多个应用定义的语义;
确定所述多个应用中的应用在所述语义内包括的对应时间段内是否活动;以及
响应于所述应用在为所述应用定义的所述语义内包括的所述对应时间段期间不活动,将所述应用从活动状态转移到不活动状态。
10.根据权利要求9所述的设备,其中所述休眠器部署用于响应于将所述应用从所述活动状态转移到所述不活动状态,将所述应用的副本集合减少为零。
11.根据权利要求9所述的设备,其中所述休眠器部署用于响应于将所述应用从所述活动状态转移到所述不活动状态,将所述应用的服务端点从在所述应用处被终止转变为在所述休眠器部署处被终止。
12.根据权利要求9所述的设备,其中所述休眠器部署用于:
响应于将所述应用从所述活动状态转移到所述不活动状态,将与所述应用有关的分组从在所述应用处被接收转变为在所述休眠器部署处被接收;以及
在所述应用处于所述不活动状态时,存储在所述休眠器部署处被接收到的分组。
13.根据权利要求9所述的设备,其中所述休眠器部署用于:
在所述应用处于所述不活动状态时,确定用于访问所述应用的请求是否被接收到;以及
响应于用于访问所述应用的所述请求被接收到,将所述应用从所述不活动状态转移到所述活动状态。
14.根据权利要求13所述的设备,其中所述休眠器部署用于响应于将所述应用从所述不活动状态转移到所述活动状态,增加所述应用的副本集合。
15.根据权利要求13所述的设备,其中所述休眠器部署用于响应于将所述应用从所述不活动状态转移到所述活动状态,将所述应用的服务端点从在所述休眠器部署处被终止转变为在所述应用处被终止。
16.根据权利要求13所述的设备,其中所述休眠器部署用于:
响应于将所述应用从所述不活动状态转移到所述活动状态,将与所述应用有关的分组从在所述休眠器部署处被接收转变为在所述应用处被接收;以及
响应于将所述应用从所述不活动状态转移到所述活动状态,将在所述应用处于所述不活动状态时被存储在所述休眠器部署处的、与所述应用有关的分组下载到所述应用。
17.一种非暂时性计算机可读介质,具有用于执行方法的指令,所述方法包括:
由容器管理系统的休眠器部署监视应用;
确定为所述应用定义的语义;
确定所述应用在所述语义内包括的对应时间段期间是否活动;以及
响应于所述应用在为所述应用定义的所述语义内包括的所述对应时间段期间不活动,将所述应用从活动状态转移到不活动状态。
18.根据权利要求17所述的非暂时性计算机可读介质,其中所述方法还包括:
当所述应用处于所述不活动状态时,将所述应用的传入分组存储在所述休眠器部署中;
确定在所述应用处于所述不活动状态时用于访问所述应用的请求是否被接收到;以及
响应于所述请求被确定为被接收到,将所述应用从所述不活动状态转移到所述活动状态。
19.根据权利要求18所述的非暂时性计算机可读介质,其中所述方法还包括:
响应于将所述应用从所述活动状态转移到所述不活动状态,减少所述应用的副本集合;以及
响应于将所述应用从所述不活动状态转移到所述活动状态,增加所述应用的所述副本集合。
20.根据权利要求18所述的非暂时性计算机可读介质,其中所述方法还包括:
响应于将所述应用从所述活动状态转移到所述不活动状态,将所述应用的服务端点从在所述应用处被终止转变为在所述休眠器部署处被终止;以及
响应于将所述应用从所述不活动状态转移到所述活动状态,将所述应用的所述服务端点从在所述休眠器部署处被终止转变为在所述应用处被终止。
21.根据权利要求17所述的非暂时性计算机可读介质,其中所确定的所述语义包括不活动时休眠的语义。
CN201911286143.2A 2018-12-14 2019-12-13 容器管理系统中的应用部署 Pending CN111324416A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/220,284 US10949239B2 (en) 2018-12-14 2018-12-14 Application deployment in a container management system
US16/220,284 2018-12-14

Publications (1)

Publication Number Publication Date
CN111324416A true CN111324416A (zh) 2020-06-23

Family

ID=70859538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911286143.2A Pending CN111324416A (zh) 2018-12-14 2019-12-13 容器管理系统中的应用部署

Country Status (3)

Country Link
US (1) US10949239B2 (zh)
CN (1) CN111324416A (zh)
DE (1) DE102019133923B4 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114881233A (zh) * 2022-04-20 2022-08-09 深圳市魔数智擎人工智能有限公司 一种基于容器的分布式模型推理服务方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12058160B1 (en) 2017-11-22 2024-08-06 Lacework, Inc. Generating computer code for remediating detected events
US11785104B2 (en) 2017-11-27 2023-10-10 Lacework, Inc. Learning from similar cloud deployments
US11973784B1 (en) 2017-11-27 2024-04-30 Lacework, Inc. Natural language interface for an anomaly detection framework
US11765249B2 (en) 2017-11-27 2023-09-19 Lacework, Inc. Facilitating developer efficiency and application quality
US10614071B1 (en) 2017-11-27 2020-04-07 Lacework Inc. Extensible query interface for dynamic data compositions and filter applications
US11894984B2 (en) 2017-11-27 2024-02-06 Lacework, Inc. Configuring cloud deployments based on learnings obtained by monitoring other cloud deployments
US11741238B2 (en) 2017-11-27 2023-08-29 Lacework, Inc. Dynamically generating monitoring tools for software applications
US20220232025A1 (en) 2017-11-27 2022-07-21 Lacework, Inc. Detecting anomalous behavior of a device
US11849000B2 (en) 2017-11-27 2023-12-19 Lacework, Inc. Using real-time monitoring to inform static analysis
US11792284B1 (en) 2017-11-27 2023-10-17 Lacework, Inc. Using data transformations for monitoring a cloud compute environment
US20220232024A1 (en) 2017-11-27 2022-07-21 Lacework, Inc. Detecting deviations from typical user behavior
US12034754B2 (en) 2017-11-27 2024-07-09 Lacework, Inc. Using static analysis for vulnerability detection
US12095796B1 (en) 2017-11-27 2024-09-17 Lacework, Inc. Instruction-level threat assessment
US11979422B1 (en) 2017-11-27 2024-05-07 Lacework, Inc. Elastic privileges in a secure access service edge
US11770398B1 (en) 2017-11-27 2023-09-26 Lacework, Inc. Guided anomaly detection framework
US11818156B1 (en) 2017-11-27 2023-11-14 Lacework, Inc. Data lake-enabled security platform
US11456921B2 (en) * 2019-04-29 2022-09-27 Ncr Corporation Self-contained microservice platform
US11635990B2 (en) 2019-07-01 2023-04-25 Nutanix, Inc. Scalable centralized manager including examples of data pipeline deployment to an edge system
US11593137B2 (en) 2019-08-30 2023-02-28 Nutanix, Inc. Hypervisor hibernation
US11256759B1 (en) 2019-12-23 2022-02-22 Lacework Inc. Hierarchical graph analysis
US11201955B1 (en) 2019-12-23 2021-12-14 Lacework Inc. Agent networking in a containerized environment
US11188571B1 (en) 2019-12-23 2021-11-30 Lacework Inc. Pod communication graph
US11972266B2 (en) * 2020-10-02 2024-04-30 Nutanix, Inc. Hibernating and resuming nodes of a computing cluster
US20220121543A1 (en) * 2020-10-21 2022-04-21 Nutanix, Inc. Key value store in a clustered containerized system
US11196665B1 (en) * 2020-11-12 2021-12-07 Sap Se Routing application calls
US11665221B2 (en) 2020-11-13 2023-05-30 Nutanix, Inc. Common services model for multi-cloud platform
WO2022128059A1 (en) * 2020-12-14 2022-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Load balancing in a system
US11368539B1 (en) * 2021-05-27 2022-06-21 International Business Machines Corporation Application deployment in a multi-cluster environment
US11481243B1 (en) * 2021-08-25 2022-10-25 International Business Machines Corporation Service access across Kubernetes clusters
US20230062212A1 (en) * 2021-08-31 2023-03-02 International Business Machines Corporation Container lifecycle management
US11847443B2 (en) 2021-09-07 2023-12-19 International Business Machines Corporation Constraints-based refactoring of monolith applications through attributed graph embeddings
US12015540B2 (en) * 2021-09-07 2024-06-18 Red Hat, Inc. Distributed data grid routing for clusters managed using container orchestration services
US11726778B2 (en) * 2021-09-29 2023-08-15 International Business Machines Corporation Translating clusters of a monolith application to microservices
US11601393B1 (en) 2021-10-04 2023-03-07 Cisco Technology, Inc. Microservice visibility and control
US11916998B2 (en) * 2021-11-12 2024-02-27 Electronics And Telecommunications Research Institute Multi-cloud edge system
US11768679B2 (en) 2021-11-30 2023-09-26 International Business Machines Corporation Identifying microservices for a monolith application through static code analysis
CN114531443B (zh) * 2022-02-18 2024-05-17 京东科技信息技术有限公司 基于集群的容器控制方法及系统
US11954525B1 (en) * 2022-09-21 2024-04-09 Zhejiang Lab Method and apparatus of executing collaborative job for spark faced to multiple K8s clusters

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050009515A1 (en) * 2002-02-08 2005-01-13 Katsutoshi Inoko Station side apparatus, resource allocating method in station side apparatus and mobile communication system
US20050255833A1 (en) * 2004-05-13 2005-11-17 Mobile (R&D) Ltd. Message aggregation system and method for a mobile communication device
US20060075101A1 (en) * 2004-09-29 2006-04-06 International Business Machines Corporation Method, system, and computer program product for supporting a large number of intermittently used application clusters
US20070106739A1 (en) * 2005-11-08 2007-05-10 David Clark Wireless messaging using notification messages in a wireless communication network
US20080201479A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Associating Virtual Machines on a Server Computer with Particular Users on an Exclusive Basis
US20090217072A1 (en) * 2008-02-26 2009-08-27 Alexander Gebhart Automated electrical power savings in virtualization environments
US20120331406A1 (en) * 2011-06-21 2012-12-27 Cisco Technology, Inc. Survivable Browsing In Virtualized Desktop Environment When Host Connectivity Is Lost
US20130297668A1 (en) * 2012-05-01 2013-11-07 Red Hat, Inc. Application idling in a multi-tenant cloud-based application hosting environment
US20130329632A1 (en) * 2012-06-08 2013-12-12 At&T Intellectual Property I, Lp. Network control of applications using application states
US20150106520A1 (en) * 2011-03-16 2015-04-16 International Business Machines Corporation Efficient Provisioning & Deployment of Virtual Machines
US9648138B1 (en) * 2012-03-27 2017-05-09 Open Text Corporation Method and system for virtual server dormancy
US20180227369A1 (en) * 2017-02-09 2018-08-09 Kaiser Foundation Hospitals Converged service computing platform
US20180309747A1 (en) * 2011-08-09 2018-10-25 CloudPassage, Inc. Systems and methods for providing container security

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225448B2 (en) 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
US8607082B2 (en) 2009-08-31 2013-12-10 Red Hat Israel, Ltd. Mechanism for managing power in a virtual machine system
US9891939B2 (en) 2011-03-03 2018-02-13 Microsoft Technology Licensing, Llc Application compatibility with library operating systems
US8788863B2 (en) 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
US20150058519A1 (en) 2013-08-22 2015-02-26 International Business Machines Corporation Detection of hot pages for partition hibernation
US10193963B2 (en) 2013-10-24 2019-01-29 Vmware, Inc. Container virtual machines for hadoop

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050009515A1 (en) * 2002-02-08 2005-01-13 Katsutoshi Inoko Station side apparatus, resource allocating method in station side apparatus and mobile communication system
US20050255833A1 (en) * 2004-05-13 2005-11-17 Mobile (R&D) Ltd. Message aggregation system and method for a mobile communication device
US20060075101A1 (en) * 2004-09-29 2006-04-06 International Business Machines Corporation Method, system, and computer program product for supporting a large number of intermittently used application clusters
US20070106739A1 (en) * 2005-11-08 2007-05-10 David Clark Wireless messaging using notification messages in a wireless communication network
US20080201479A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Associating Virtual Machines on a Server Computer with Particular Users on an Exclusive Basis
US20080201414A1 (en) * 2007-02-15 2008-08-21 Amir Husain Syed M Transferring a Virtual Machine from a Remote Server Computer for Local Execution by a Client Computer
US20090217072A1 (en) * 2008-02-26 2009-08-27 Alexander Gebhart Automated electrical power savings in virtualization environments
US20150106520A1 (en) * 2011-03-16 2015-04-16 International Business Machines Corporation Efficient Provisioning & Deployment of Virtual Machines
US20120331406A1 (en) * 2011-06-21 2012-12-27 Cisco Technology, Inc. Survivable Browsing In Virtualized Desktop Environment When Host Connectivity Is Lost
US20180309747A1 (en) * 2011-08-09 2018-10-25 CloudPassage, Inc. Systems and methods for providing container security
US9648138B1 (en) * 2012-03-27 2017-05-09 Open Text Corporation Method and system for virtual server dormancy
US20130297668A1 (en) * 2012-05-01 2013-11-07 Red Hat, Inc. Application idling in a multi-tenant cloud-based application hosting environment
US20130329632A1 (en) * 2012-06-08 2013-12-12 At&T Intellectual Property I, Lp. Network control of applications using application states
US20180227369A1 (en) * 2017-02-09 2018-08-09 Kaiser Foundation Hospitals Converged service computing platform

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114881233A (zh) * 2022-04-20 2022-08-09 深圳市魔数智擎人工智能有限公司 一种基于容器的分布式模型推理服务方法

Also Published As

Publication number Publication date
DE102019133923A1 (de) 2020-06-18
US20200192690A1 (en) 2020-06-18
DE102019133923B4 (de) 2023-03-16
US10949239B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
US10949239B2 (en) Application deployment in a container management system
US11169856B2 (en) Container management
US10778798B2 (en) Remote service access in a container management system
US11983082B2 (en) Server clustering in a computing-on-demand system
CN108737270B (zh) 一种服务器集群的资源管理方法和装置
EP3400535B1 (en) System and method for distributed resource management
CN109313564B (zh) 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统
US8190682B2 (en) Managing execution of programs by multiple computing systems
US8583770B2 (en) System and method for creating and managing virtual services
US10387179B1 (en) Environment aware scheduling
US8656355B2 (en) Application-based specialization for computing nodes within a distributed processing system
CN100410882C (zh) 用于虚拟机中的集中式软件管理的系统和方法
US8280431B2 (en) Apparatus for end-user transparent utilization of computational, storage, and network capacity of mobile devices, and associated methods
US20100287280A1 (en) System and method for cloud computing based on multiple providers
US20140280433A1 (en) Peer-to-Peer File Distribution for Cloud Environments
US20070061441A1 (en) Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions
US20220091874A1 (en) Method for optimizing the load balance in the cluster and framework thereof
US11803448B1 (en) Faster restart of task nodes using periodic checkpointing of data sources
US20210067599A1 (en) Cloud resource marketplace
Verma et al. Hbi-lb: A dependable fault-tolerant load balancing approach for fog based internet-of-things environment
EP1611523B1 (en) Controlling usage of system resources by a network manager
US10929168B2 (en) Enhanced data storage and versioning of virtual nodes in a data processing environment
US20240291895A1 (en) Distributed cloud system, and data processing method and storage medium of distributed cloud system
Jhawar et al. Dependability-oriented resource management schemes for cloud computing data centers
CN112965790B (zh) 一种基于pxe协议的虚拟机启动方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination