CN115080229A - 资源对象管理方法及装置 - Google Patents
资源对象管理方法及装置 Download PDFInfo
- Publication number
- CN115080229A CN115080229A CN202210531829.9A CN202210531829A CN115080229A CN 115080229 A CN115080229 A CN 115080229A CN 202210531829 A CN202210531829 A CN 202210531829A CN 115080229 A CN115080229 A CN 115080229A
- Authority
- CN
- China
- Prior art keywords
- container
- platform service
- resource object
- daemon process
- network
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning 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)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种资源对象管理方法及装置;资源对象管理方法包括:针对容器编排平台的每个节点,分别建立守护进程;配置容器编排平台服务的网络;响应于所述配置容器编排平台服务的网络有效,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理。
Description
技术领域
本申请涉及容器集群管理技术,尤其涉及一种资源对象管理方法及装置。
背景技术
kubernetes是为容器服务而生的一个可移植容器的编排管理平台,是一种开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用,kubernetes简称为k8s。
在容器组合(pod)多网口场景中,需要管理面与业务面分离,以实现对资源对象的管理。但是,当前的k8s系统中,会存在管理面与业务面不能完全分离的情况,进而无法实现对资源对象的管理。
发明内容
本申请实施例提供一种资源对象管理方法及装置,能够实现k8s系统中管理面与业务面的分离,进而实现对资源对象的管理。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种资源对象管理方法,包括:针对容器编排平台的每个节点,分别建立守护进程;配置容器编排平台服务的网络;响应于所述配置容器编排平台服务的网络有效,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理。
在一些实施例中,所述方法还包括:判断所述容器组合的网络是否与所述编排平台服务的网络对应;若所述容器组合的网络与所述编排平台服务的网络对应,则确定所述配置容器编排平台服务对应的网络有效。
在一些实施例中,所述基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理包括下述中的至少一项:
基于所述第一节点对应的第一守护进程,创建所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,修改所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,查询所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,所述基于所述第一节点对应的第一守护进程,创建所述容器编排平台服务关联的容器组合的资源对象,包括:
所述第一守护进程接收第一事件处理请求;
解析所述第一事件处理请求,构建配置文件;
基于所述配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,所述基于所述第一节点对应的第一守护进程,删除所述容器编排平台服务关联的容器组合的资源对象,包括:
所述第一守护进程接收第二事件处理请求;
解析所述第二事件处理请求,获取所述容器编排平台服务关联的容器组合的资源对象的命名空间和命名;
所述第一守护进程基于所述命名空间和所述命名构建删除命令;
所述第一守护进程执行所述删除命令,以删除所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,所述基于所述第一节点对应的第一守护进程,修改所述容器编排平台服务关联的容器组合的资源对象,包括:
所述第一守护进程接收第三事件处理请求;
解析所述第三事件处理请求,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第三事件处理请求重新构建配置文件;
基于重新构建的配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,所述基于所述第一节点对应的第一守护进程,查询所述容器编排平台服务关联的容器组合的资源对象,包括:
所述第一守护进程接收第四事件处理请求;
解析所述第四事件处理请求,获取所述容器编排平台服务关联的容器组合的资源对象的命名空间和命名;
基于所述命名空间和所述名称构建查询命令;
基于所述查询命令查询所述容器编排平台服务关联的容器组合的资源对象,得到查询结果。
第二方面,本申请实施例提供一种资源对象管理装置,包括:建立模块,用于针对容器编排平台的每个节点,分别建立守护进程;
配置模块,用于配置容器编排平台服务的网络;
管理模块,用于响应于所述配置容器编排平台服务的网络有效,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理。
在一些实施例中,所述资源对象管理装置还包括:
处理模块,用于判断所述容器组合的网络是否与所述编排平台服务的网络对应;
若所述容器组合的网络与所述编排平台服务的网络对应,则确定所述配置容器编排平台服务对应的网络有效。
在一些实施例中,所述管理模块用于执行下述中的至少一项:
基于所述第一节点对应的第一守护进程,创建所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,修改所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,查询
在一些实施例中,所述资源管理模块包括第一守护进程,所述第一守护进程接收第一事件处理请求;
解析所述第一事件处理请求,构建配置文件;
基于所述配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,所述资源管理模块包括第一守护进程,所述第一守护进程接收第三事件处理请求;
解析所述第三事件处理请求,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第三事件处理请求重新构建配置文件;
基于重新构建的配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,所述资源管理模块包括第一守护进程,所述第一守护进程接收第四事件处理请求;
解析所述第四事件处理请求,获取所述容器编排平台服务关联的容器组合的资源对象的命名空间和命名;
基于所述命名空间和所述名称构建查询命令;
基于所述查询命令查询所述容器编排平台服务关联的容器组合的资源对象,得到查询结果。
第三方面,本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的资源对象管理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的资源对象管理方法。
本申请实施例提供的资源对象管理方法,针对容器编排平台的每个节点,分别建立守护进程;配置容器编排平台服务的网络;响应于所述配置容器编排平台服务的网络有效,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理。如此,通过支持配置容器编排平台服务的网络,以及通过容器编排平台上每个节点分别对应的守护进程控制业务面和管理面分离,进而实现对endpoints的管理。
附图说明
图1是相关技术创建service的流程示意图;
图2是本申请实施例提供的资源对象管理方法的一种可选处理流程示意图;
图3是本申请实施例提供的基于第一节点对应的第一守护进程,创建容器编排平台服务关联的容器组合的资源对象的一种可选处理流程示意图;
图4是本申请实施例提供的基于第一节点对应的第一守护进程,删除容器编排平台服务关联的容器组合的资源对象的一种可选处理流程示意图;
图5是本申请实施例提供的基于第一节点对应的第一守护进程,修改容器编排平台服务关联的容器组合的资源对象的一种可选处理流程示意图;
图6是本申请实施例提供的基于第一节点对应的第一守护进程,查询容器编排平台服务关联的容器组合的资源对象的一种可选处理流程示意图;
图7是本申请实施例提供的资源对象管理方法的一种可选详细处理流程示意图;
图8是本申请实施例提供的判断k8s服务的网络是否有效的一种可选处理流程示意图;
图9是本申请实施例提供的守护进程轮询处理接收到的请求事件的实框架示意图;
图10是本申请实施例提供的容器编排平台服务的框架示意图;
图11是本申请实施例提供的资源对象管理装置的一种可选组成结构示意图;
图12是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。在以下的描述中,所涉及的术语“多个”是指至少两个。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对现有技术中的创建k8s服务(service)的处理流程进行说明。
在pod多网口场景中,为了实现管理面和业务面的分离,通常使用calico网络作为pod的默认管理网络,使用macvlan网络或者sriov网络等calico网络以外的其它网络作为pod的业务网络,service以节点访问(nodePort)模式对外提供服务,在创建service后会自动创建service关联的后端资源对象(endpoints)。相关技术中,创建service的流程示意图,如图1所示。k8s系统接收创建service请求,并根据service请求创建service;根据selector等应用程序查找是否存在正在运行的pod;若不能够查找到正在运行的pod,则不创建service,结束流程。若能够查找到正在运行的pod,则创建service,并将calico网络的网络协议(Internet Protocol,IP)地址作为endpoints的网络地址创建endpoints。其中,endpoints包括service关联的pod的IP地址和网络端口。但是,endpoints的后端IP地址采用pod默认的calico网络IP地址时,可能无法实现管理面和业务面的分离。
本申请实施例提供一种资源对象管理方法及装置,能够实现管理面和与屋面的分离,进而实现对endpoints的管理。
本申请实施例提供的资源对象管理方法的一种可选处理流程示意图,如图2所示,至少包括如下步骤:
步骤S101,针对容器编排平台的每个节点,分别建立守护进程。
在一些可选实施例中,容器编排平台可以是k8s系统。可以对容器编排平台的每个节点(node)上建立一个ep-agent守护进程。
步骤S102,配置容器编排平台服务的网络。
在一些可选实施例中,可以通过配置文件配置容器编排平台服务的网络。具体的,可以在配置文件的metadata.annotations中配置容器编排平台服务的网络。
在具体实施时,可以在service的yaml文件中配置service的网络。以容器编排平台为k8s为例,service的yaml文件对应的命令行可以如下所示:
其中,“annotations:k8s.v1.cni.cncf.io/networks:macvlan-conf-2”用于配置service的后端网络。
步骤S103,响应于所述配置容器编排平台服务的网络有效,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理。
在一些实施例中,第一节点可以是容器编排平台中的任意一个node。
在一些实施例中,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理包括下述(1)至(4)中的至少一项:
(1)基于所述第一节点对应的第一守护进程,创建所述容器编排平台服务关联的容器组合的资源对象。
(2)基于所述第一节点对应的第一守护进程,删除所述容器编排平台服务关联的容器组合的资源对象。
(3)基于所述第一节点对应的第一守护进程,修改所述容器编排平台服务关联的容器组合的资源对象。
(4)基于所述第一节点对应的第一守护进程,查询所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,对所述容器编排平台服务关联的容器组合的资源对象进行管理,也可以称为维护容器编排平台服务关联的容器组合的资源对象的生命周期。
在一些实施例中,针对(1),基于第一节点对应的第一守护进程,创建容器编排平台服务关联的容器组合的资源对象的一种可选处理流程,如图3所示,至少包括以下步骤:
步骤103a,第一守护进程接收第一事件处理请求。
在一些可选实施例中,第一守护进程为ap-agent,ap-agent可以接收客户端发送的第一事件处理请求。其中,客户端可以以unixsocker的方式通过ep-ctl命令行工具发送第一事件处理请求。与普通的网络socket相比,以unixsocker的方式发送第一事件处理请求,不需要进行复杂的数据打包拆包,校验和计算验证,不需要走网络协议栈,安全可靠。
步骤103b,第一守护进程解析所述第一事件处理请求,构建配置文件。
在一些实施例中,第一守护进程可以解析Dispatcher中的“content”字段,构造配置文件。其中,配置文件可以是yaml文件。
在一些实施例中,创建容器endpoints的yaml文件可以如下所示:
其中,yaml文件可以存放在/etc/ep-agent/目录下,通过yaml文件创建endpoints的命令可以为:kubectl apply-f yaml-file。
在一些实施例中,创建endpoints的命令可以为:
ep-ctl endpoints add--content
‘<endpoints name=”endpoints-name”type=”endpoints”namespace=”namespace”networks=”namespace/networks”protocol=”protocol”port=”port”>
<pod name=”pod-name1”type=“pod”namespace=”namespace”/>
<pod name=”pod-name2”type=“pod”namespace=”namespace”/>
<pod name=”pod-name3”type=“pod”namespace=”namespace”/>
……
</endpoints>’。
步骤103c,第一守护进程基于所述配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,第一守护进程基于配置文件确定创建endpoints的命令,执行创建endpoints的命令,实现endpoints的创建。
在一些实施例中,针对(2),基于第一节点对应的第一守护进程,删除容器编排平台服务关联的容器组合的资源对象的一种可选处理流程,如图4所示,至少包括以下步骤:
步骤103d,第一守护进程接收第二事件处理请求。
在一些可选实施例中,第一守护进程为ap-agent,ap-agent可以接收客户端发送的第二事件处理请求。其中,客户端可以以unixsocker的方式通过ep-ctl命令行工具发送第二事件处理请求。与普通的网络socket相比,以unixsocker的方式发送第二事件处理请求,不需要进行复杂的数据打包拆包,校验和计算验证,不需要走网络协议栈,安全可靠。
步骤103e,第一守护进程解析第二事件处理请求,获取容器编排平台服务关联的容器组合的资源对象的命名空间和命名。
在一些实施例中,第一守护进程可以解析Dispatcher中的“content”字段,获取endpoints的“namespace”和“name”。
步骤103f,第一守护进程基于所述命名空间和所述命名构建删除命令。
在一些可选实施例中,第一守护进程在获取到endpoints的“namespace”和“name”之后,通过执行kubectl命令删除endpoints。
作为示例,kubectl命令的格式可以为:kubectl deleteendpoints-n namespaceendpoints-name。
删除endpoints的命令可以为:ep-ctl endpoints delete–content
‘<endpoints name=”endpoints-name”type=”endpoints”namespace=”namespace”></endpoint>’。
步骤103g,第一守护进程执行删除命令,以删除所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,针对(3),基于第一节点对应的第一守护进程,修改容器编排平台服务关联的容器组合的资源对象的一种可选处理流程,如图5所示,至少包括以下步骤:
步骤103h,第一守护进程接收第三事件处理请求。
在一些可选实施例中,第一守护进程为ap-agent,ap-agent可以接收客户端发送的第三事件处理请求。其中,客户端可以以unixsocker的方式通过ep-ctl命令行工具发送第三事件处理请求。与普通的网络socket相比,以unixsocker的方式发送第三事件处理请求,不需要进行复杂的数据打包拆包,校验和计算验证,不需要走网络协议栈,安全可靠。
步骤103i,第一守护进程解析第三事件处理请求,删除容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,第一守护进程可以解析Dispatcher中的“content”字段,获取endpoints的“namespace”和“name”。第一守护进程在获取到endpoints的“namespace”和“name”之后,通过执行kubectl命令删除endpoints。
作为示例,kubectl命令可以为:kubectl deleteendpoints-n namespaceendpoints-name。
步骤103j,第一守护进程基于第三事件处理请求重新构建配置文件。
在一些实施例中,第一守护进程在解析线程调度管理器(Dispatcher)中的“content”字段之后,构造配置文件。其中,配置文件可以是yaml文件。
在一些实施例中,创建容器endpoints的yaml文件可以如下所示:
其中,yaml文件可以存放在/etc/ep-agent/目录下,通过yaml文件创建endpoints的命令可以为:kubectl apply-f yaml-file。
步骤103k,第一守护进程基于重新构建的配置文件创建容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,第一守护进程基于配置文件确定创建endpoints的命令,执行创建endpoints的命令,实现endpoints的创建。
在一些实施例中,针对(4),基于第一节点对应的第一守护进程,查询容器编排平台服务关联的容器组合的资源对象的一种可选处理流程,如图6所示,至少包括以下步骤:
步骤103l,第一守护进程接收第四事件处理请求。
在一些可选实施例中,第一守护进程为ap-agent,ap-agent可以接收客户端发送的第四事件处理请求。其中,客户端可以以unixsocker的方式通过ep-ctl命令行工具发送第四事件处理请求。与普通的网络socket相比,以unixsocker的方式发送第四事件处理请求,不需要进行复杂的数据打包拆包,校验和计算验证,不需要走网络协议栈,安全可靠。
步骤103m,第一守护进程解析第四事件处理请求,获取容器编排平台服务关联的容器组合的资源对象的命名空间和命名。
在一些实施例中,第一守护进程可以解析Dispatcher中的“content”字段,获取endpoints的“namespace”和“name”。
步骤103n,第一守护进程基于命名空间和所述名称构建查询命令。
在一些实施例中,第一守护进程在获取到endpoints的“namespace”和“name”之后,构建查询命令。具体的,第一守护进程可以通过执行kubectl命令查询endpoints。
在一些实施例中,查询endpoints的kubectl命令的格式可以为:
kubectl getendpoints-n namespaceendpoints-name-ojson。
在一些实施例中,查询endpoints的命令可以为:
ep-ctl endpoints delete–content
‘<endpoints name=”endpoints-name”type=”endpoints”namespace=”namespace”></endpoint>’。
步骤103o,第一守护进程基于查询命令查询容器编排平台服务关联的容器组合的资源对象,得到查询结果。
在一些实施例中,第一守护进程在得到查询结果之后,解析查询结果,基于解析的查询结果重新组装endpoints。
本申请实施例提供的资源对象管理方法的一种可选详细处理流程示意图,如图7所示,至少可以包括以下步骤:
步骤S201,针对k8s系统的每个节点,分别建立守护进程。
在一些可选实施例中,可以对k8s系统的每个node上建立一个ep-agent守护进程。
步骤S202,配置k8s系统的网络。
在一些可选实施例中,可以通过配置文件配置k8s服务的网络。
在具体实施时,可以在service的yaml文件中配置service的后端服务网络。
在一些实施例中,配置k8s系统的网络的处理过程与步骤S102相同,这里不再赘述。
步骤S203,接收创建k8s服务的请求。
在一些实施例中,ap-agent可以接收客户端发送的第一事件处理请求。其中,客户端可以以unixsocker的方式通过ep-ctl命令行工具发送第一事件处理请求。
步骤S204,创建k8s服务。
步骤S205,判断是否存在正在运行的pod。
在一些实施例中,可以根据标签选择器(secector)查找是否存在正在运行的pod;若存在正在运行的pod,则执行步骤S206。若不存在正在运行的pod,则不创建endpoints,结束流程。
步骤S206,判断k8s服务的网络是否有效。
在一些实施例中,若判断k8s服务的网络有效,则执行步骤S207;若判断k8s服务的网络无效,则利用默认的calico网络创建资源管理对象。
在一些实施例中,判断k8s服务的网络是否有效的一种可选处理流程,如图8所示,至少包括以下步骤:
步骤S301,判断pod的网络是否与k8s服务的网络对应。
在一些实施例中,可以通过k8s服务的yaml文件中的“metadata.annotations.k8s.v1.cni.cncf.io/networks”字段读取k8s服务的网络IP。通过selector查找pod是否存在k8s服务的网络IP,若pod存在k8s服务的网络IP,则可以确认pod的网络与k8s服务的网络对应。
步骤S302,若pod的网络与k8s服务的网络对应,则确定k8s服务的网络有效。
步骤S207,守护进程利用配置的k8s系统的网络创建资源管理对象。
步骤S208,守护进程轮询处理接收到的请求事件。
在一些可选实施例中,请求事件可以是创建endpoints、删除endpoints、修改endpoints和查询endpoints中的任意一种或多种。
在具体实施时,针对请求事件为创建endpoints、删除endpoints、修改end points和查询endpoints的处理流程,与图3至图6所示的处理流程相同,这里不再赘述。
在一些实施例中,守护进程轮询处理接收到的请求事件的实框架示意图,如图9所示:控制器(ep-ctl)通过unixsocket的方式发送请求事件;ep-agent内的事件轮询器(Event Poller)接收请求事件,并将请求事件发送至事件分发器(Event Dispatcher)。Event Dispatcher将请求事件分发至对应的端点,若请求事件为创建事件,则将请求事件发送至创建端点(createendpoints);若请求事件为删除事件,则将请求事件发送至删除端点(deleteendpoints);若请求事件为修改事件,则将请求事件发送至更新端点(updateendpoints);若请求事件为查询事件,则将请求事件发送至查询端点(getendpoints)。
基于图2至图9所示的资源对象管理方法,本申请实施例提供的容器编排平台服务的框架示意图,如图10所示:客户端通过交换机发起请求事件;主机、服务器1和服务器2分别建立对应的ep-agent。ep-agent控制将业务面的请求事件通过端口eth1传输,将管理面的请求事件通过端口eth0传输。
本申请实施例提供的资源对象管理方法,在多网口场景下,通过支持配置容器编排平台服务的网络,以及通过容器编排平台上每个节点分别对应的守护进程控制业务面和管理面分离,进而实现对endpoints的管理。具体地,通过调用ep-ctl接口即可配置容器编排平台服务的网络,容器编排平台服务的源代码改动小,降低容器编排平台的维护成本。
本申请实施例还提供一种资源对象管理装置,资源对象管理装置的一种可选组成结构示意图,如图11所示,包括:
建立模块401,用于针对容器编排平台的每个节点,分别建立守护进程;
配置模块402,用于配置容器编排平台服务的网络;
管理模块403,用于响应于所述配置容器编排平台服务的网络有效,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理。
在一些实施例中,所述资源对象管理装置还包括:
处理模块(图11中未示出),用于判断所述容器组合的网络是否与所述编排平台服务的网络对应;
若所述容器组合的网络与所述编排平台服务的网络对应,则确定所述配置容器编排平台服务对应的网络有效。
在一些实施例中,所述管理模块403用于执行下述中的至少一项:
基于所述第一节点对应的第一守护进程,创建所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,修改所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,查询
在一些实施例中,所述资源管理模块403包括第一守护进程,所述第一守护进程接收第一事件处理请求;
解析所述第一事件处理请求,构建配置文件;
基于所述配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,所述资源管理模块403包括第一守护进程,所述第一守护进程接收第三事件处理请求;
解析所述第三事件处理请求,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第三事件处理请求重新构建配置文件;
基于重新构建的配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
在一些实施例中,所述资源管理模块403包括第一守护进程,所述第一守护进程接收第四事件处理请求;
解析所述第四事件处理请求,获取所述容器编排平台服务关联的容器组合的资源对象的命名空间和命名;
基于所述命名空间和所述名称构建查询命令;
基于所述查询命令查询所述容器编排平台服务关联的容器组合的资源对象,得到查询结果。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的资源对象管理方法。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
图12示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。在一些可选实施例中,电子设备800可以是终端设备,也可以是服务器。在一些可选实施例中,电子设备800可以通过运行计算机程序来实现本申请实施例提供的资源对象管理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(Application,APP),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在实际应用中,电子设备800可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。电子设备800可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。
电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备、车载终端和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如资源对象管理方法。例如,在一些可选实施例中,资源对象管理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些可选实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的资源对象管理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为资源对象管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的资源对象管理方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
以上,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (10)
1.一种资源对象管理方法,所述方法包括:
针对容器编排平台的每个节点,分别建立守护进程;
配置容器编排平台服务的网络;
响应于所述配置容器编排平台服务的网络有效,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理。
2.根据权利要求1所述的方法,所述方法还包括:
判断所述容器组合的网络是否与所述编排平台服务的网络对应;
若所述容器组合的网络与所述编排平台服务的网络对应,则确定所述配置容器编排平台服务的网络有效。
3.根据权利要求1所述的方法,所述基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理包括下述中的至少一项:
基于所述第一节点对应的第一守护进程,创建所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,修改所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,查询所述容器编排平台服务关联的容器组合的资源对象。
4.根据权利要求3所述的方法,所述基于所述第一节点对应的第一守护进程,创建所述容器编排平台服务关联的容器组合的资源对象,包括:
所述第一守护进程接收第一事件处理请求;
解析所述第一事件处理请求,构建配置文件;
基于所述配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
5.根据权利要求3所述的方法,所述基于所述第一节点对应的第一守护进程,删除所述容器编排平台服务关联的容器组合的资源对象,包括:
所述第一守护进程接收第二事件处理请求;
解析所述第二事件处理请求,获取所述容器编排平台服务关联的容器组合的资源对象的命名空间和命名;
所述第一守护进程基于所述命名空间和所述命名构建删除命令;
所述第一守护进程执行所述删除命令,以删除所述容器编排平台服务关联的容器组合的资源对象。
6.根据权利要求3所述的方法,所述基于所述第一节点对应的第一守护进程,修改所述容器编排平台服务关联的容器组合的资源对象,包括:
所述第一守护进程接收第三事件处理请求;
解析所述第三事件处理请求,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第三事件处理请求重新构建配置文件;
基于重新构建的配置文件创建所述容器编排平台服务关联的容器组合的资源对象。
7.根据权利要求3所述的方法,所述基于所述第一节点对应的第一守护进程,查询所述容器编排平台服务关联的容器组合的资源对象,包括:
所述第一守护进程接收第四事件处理请求;
解析所述第四事件处理请求,获取所述容器编排平台服务关联的容器组合的资源对象的命名空间和命名;
基于所述命名空间和所述名称构建查询命令;
基于所述查询命令查询所述容器编排平台服务关联的容器组合的资源对象,得到查询结果。
8.一种资源对象管理装置,所述装置包括:
建立模块,用于针对容器编排平台的每个节点,分别建立守护进程;
配置模块,用于配置容器编排平台服务的网络;
管理模块,用于响应于所述配置容器编排平台服务的网络有效,基于第一节点对应的第一守护进程,对所述容器编排平台服务关联的容器组合的资源对象进行管理。
9.根据权利要求8所述的资源对象管理装置,所述资源对象管理装置还包括:
处理模块,用于判断所述容器组合的网络是否与所述编排平台服务的网络对应;
若所述容器组合的网络与所述编排平台服务的网络对应,则确定所述配置容器编排平台服务对应的网络有效。
10.根据权利要求8所述的资源对象管理装置,所述管理模块用于执行下述中的至少一项:
基于所述第一节点对应的第一守护进程,创建所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,删除所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,修改所述容器编排平台服务关联的容器组合的资源对象;
基于所述第一节点对应的第一守护进程,查询所述容器编排平台服务关联的容器组合的资源对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210531829.9A CN115080229A (zh) | 2022-05-13 | 2022-05-13 | 资源对象管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210531829.9A CN115080229A (zh) | 2022-05-13 | 2022-05-13 | 资源对象管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080229A true CN115080229A (zh) | 2022-09-20 |
Family
ID=83247982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210531829.9A Pending CN115080229A (zh) | 2022-05-13 | 2022-05-13 | 资源对象管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080229A (zh) |
-
2022
- 2022-05-13 CN CN202210531829.9A patent/CN115080229A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274731B (zh) | 基于多租户技术的web服务的部署、调用方法和装置 | |
EP3813339B1 (en) | Acquisition method, apparatus, device and storage medium for applet data | |
CN113495921A (zh) | 一种数据库集群的路由方法和装置 | |
CN113934464A (zh) | Linux系统中启动安卓应用的方法、装置和电子设备 | |
CN112437006B (zh) | 基于api网关的请求控制方法、装置、电子设备和存储介质 | |
CN110837409A (zh) | 一种定时执行任务的方法和系统 | |
CN113849312A (zh) | 数据处理任务的分配方法、装置、电子设备及存储介质 | |
CN109391658B (zh) | 一种账号数据同步方法及其设备、存储介质、终端 | |
CN117194068A (zh) | 一种跨进程数据传输方法、系统、设备及存储介质 | |
CN113541987A (zh) | 一种更新配置数据的方法和装置 | |
CN116032614A (zh) | 容器网络微隔离方法、装置、设备和介质 | |
CN113220981A (zh) | 一种优化缓存的方法和装置 | |
CN109213815B (zh) | 控制执行次数的方法、装置、服务器终端以及可读介质 | |
CN113612643B (zh) | 云手机的网络配置方法、装置、设备以及存储介质 | |
CN115514718A (zh) | 基于数据传输系统的数据交互方法、控制层、设备 | |
CN113076175B (zh) | 用于虚拟机的内存共享方法及装置 | |
CN115629909A (zh) | 业务数据处理的方法、装置、电子设备和存储介质 | |
CN115080229A (zh) | 资源对象管理方法及装置 | |
CN113556370A (zh) | 一种服务调用方法和装置 | |
CN113779122A (zh) | 导出数据的方法和装置 | |
CN113760487A (zh) | 一种业务处理方法和装置 | |
CN112559001A (zh) | 更新应用的方法和装置 | |
CN115484149B (zh) | 网络切换方法、网络切换装置、电子设备及存储介质 | |
CN113760886B (zh) | 提供数据服务的方法、装置、设备和计算机可读介质 | |
CN113722548B (zh) | 一种业务系统中引用关系的处理方法和装置 |
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 |