CN116339921A - kubernetes中的资源创建、获取方法及装置 - Google Patents
kubernetes中的资源创建、获取方法及装置 Download PDFInfo
- Publication number
- CN116339921A CN116339921A CN202310328674.3A CN202310328674A CN116339921A CN 116339921 A CN116339921 A CN 116339921A CN 202310328674 A CN202310328674 A CN 202310328674A CN 116339921 A CN116339921 A CN 116339921A
- Authority
- CN
- China
- Prior art keywords
- target
- field
- resource
- kubernetes
- annotation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000008859 change Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种kubernetes中的资源创建、获取方法及装置,在资源创建方法中,服务平台接收第一指令,其用于指示在kubernetes中创建目标资源。确定目标资源的存储内容中是否存在占用量超过预定阈值的目标字段,在存在该目标字段的情况下,向将目标字段的字段值存储到扩展存储服务中。生成目标配置信息,该目标配置信息包括注释字段和数据字段,其中的注释字段包括目标注释信息,其指示目标字段的字段标识,数据字段中目标字段的字段值被置空。基于目标配置信息,在kubernetes中创建目标资源。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种kubernetes中的资源创建、获取方法及装置。
背景技术
当前,kubernetes的出现推动了微服务架构等热门技术的普及和落地,使开发、运维、交付变得越来越简单。因此,越来越多的企业将kubernetes作为企业内部的容器编排平台,提高企业的生产效率。
然而,由于kubernetes服务的特性以及后端依赖的存储特点,使得在kubernetes中创建的资源可存储内容的大小不宜过大,通常为几KB。若存储内容过大,将影响kubernetes的性能和稳定性。在实际生产中,有些情况下需要在kubernetes中创建的资源存储的内容比较大。
因此,需要提供一种更普遍的kubernetes中的资源创建方法。
发明内容
本说明书一个或多个实施例描述了一种kubernetes中的资源创建、获取方法及装置,对资源的存储内容没有大小限制。
根据第一方面,提供了一种kubernetes中的资源创建方法,通过服务平台执行,包括:
接收第一指令,其用于指示在kubernetes中创建目标资源;
确定所述目标资源的存储内容中是否存在占用量超过预定阈值的目标字段;
在存在所述目标字段的情况下,向扩展存储服务发送存储请求,使得所述扩展存储服务存储所述目标字段的字段值;
生成目标配置信息,所述目标配置信息包括注释字段和数据字段,所述注释字段包括目标注释信息,其指示所述目标字段的字段标识;所述数据字段中所述目标字段的字段值被置空;
基于所述目标配置信息,向kubernetes发送创建请求,使得所述kubernetes根据所述目标配置信息,创建所述目标资源。
根据第二方面,提供了一种kubernetes中的资源获取方法,通过使用方执行,包括:
向kubernetes发送获取请求,其中包括待获取的目标资源的资源标识;
从所述kubernetes接收所述目标资源,所述目标资源包括注释字段;
判断所述注释字段中是否包括目标注释信息,所述目标注释信息指示所述目标资源的存储内容中占用量超过预定阈值的目标字段的字段标识;
在所述注释字段包括所述目标注释信息的情况下,向扩展存储服务发送读取请求,使得所述扩展存储服务根据所述字段标识读取所述目标字段的字段值,并返回给所述使用方。
根据第三方面,提供了一种资源创建装置,设置于服务平台,包括:
接收单元,用于接收第一指令,其用于指示在kubernetes中创建目标资源;
确定单元,用于确定所述目标资源的存储内容中是否存在占用量超过预定阈值的目标字段;
发送单元,用于在存在所述目标字段的情况下,向扩展存储服务发送存储请求,使得所述扩展存储服务存储所述目标字段的字段值;
生成单元,用于生成目标配置信息,所述目标配置信息包括注释字段和数据字段,所述注释字段包括目标注释信息,其指示所述目标字段的字段标识;所述数据字段中所述目标字段的字段值被置空;
所述发送单元,还用于基于所述目标配置信息,向kubernetes发送创建请求,使得所述kubernetes根据所述目标配置信息,创建所述目标资源。
根据第四方面,提供了一种资源获取装置,设置于使用方,包括:
发送单元,用于向kubernetes发送获取请求,其中包括待获取的目标资源的资源标识;
接收单元,用于从所述kubernetes接收所述目标资源,所述目标资源包括注释字段;
判断单元,用于判断所述注释字段中是否包括目标注释信息,所述目标注释信息指示所述目标资源的存储内容中占用量超过预定阈值的目标字段的字段标识;
所述发送单元,还用于在所述注释字段包括所述目标注释信息的情况下,向扩展存储服务发送读取请求,使得所述扩展存储服务根据所述字段标识读取所述目标字段的字段值,并返回给所述使用方。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,该处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
本说明书一个或多个实施例提供的kubernetes中的资源创建方法,对于待创建的目标资源的存储内容中占用量超过预定阈值的目标字段,可以将该目标字段的字段值存储到扩展存储服务中,并在目标资源对应的配置信息中添加用于指示目标字段的字段标识的注释信息,以供使用方基于该注释信息,读取目标字段的字段值。也就是说,通过本方案创建的目标资源,其中的存储内容可以为任意大小,从而本方案具有较高的普遍适用性。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的kubernetes中的资源创建方法示意图;
图3示出根据一个实施例的kubernetes中的资源获取方法示意图;
图4示出根据一个实施例的资源创建装置示意图;
图5示出根据一个实施例的资源获取装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。图1中,服务平台可以为实现了创建资源,更新资源,删除资源和获取资源功能的SDK。
具体地,服务平台可以接收在kubernetes中创建目标资源的指令。之后,服务平台可以根据该指令,确定目标资源的存储内容,并判断存储内容中是否存在占用量超过预定阈值的目标字段,以及根据判断结果,生成对应的配置信息。具体地,在判断结果指示存在目标字段的情况下,可以生成所包含的目标字段的字段值为空的配置信息,并且将该目标字段的字段值存储到扩展存储服务中。在判断结果指示不存在目标字段的情况下,生成保留目标字段的字段值的配置信息。最后,在kubernetes中,根据配置信息,创建目标资源。
应理解,图1只是一种示例性说明,在实际应用中,也可以将包括目标字段在内的整个数据字段存储到扩展存储服务中,且配置信息中的数据字段被置空等等,本说明书对此不作限定。
图2示出根据一个实施例的kubernetes中的资源创建方法示意图。图2中,该方法可以包括如下步骤:
步骤S202,服务平台接收第一指令,其用于指示在kubernetes中创建目标资源。
这里的目标资源可以包括kubernetes的内置资源或者定制资源。其中的内置资源例如可以为Secret、Configmap、Pod等。这里的定制资源具体可以为自定义资源(CustomResource Definitions,CRD)。
需要说明,上述CRD中通常会包括apiVersion、kind、metadata、spec等字段。其中,apiVersion字段用于描述资源版本信息,kind字段用于描述资源类型,metadata字段用于描述自定义的元数据,包括资源名称以及资源命名空间等,spec字段用于描述资源的存储内容,其通常也称为数据字段。
步骤S204,服务平台确定目标资源的存储内容中是否存在占用量超过预定阈值的目标字段。
在一个实施例中,上述存储内容可以包括数组、结构体等等。
以数组为例来说,可以是判断整个数组的占用量是否超过预定阈值。
步骤S206,在存在目标字段的情况下,服务平台向扩展存储服务发送存储请求。
还以上述数组为例来说,在数组的占用量超过预定阈值的情况下,可以认为存在上述目标字段,且该目标字段为整个数组。
当然,在实际应用中,也可以将数组中占用量超过预定阈值的元素作为上述目标字段,本说明书对此不作限定。
在一个实施例中,上述存储请求可以是用于请求利用扩展存储服务的创建资源(POST)接口存储目标字段的字段值。
需要说明,上述POST接口可以包括如下两种类型:节点资源类型和集群资源类型。
其中,节点资源类型的POST接口包括如下接口参数:
/api/v1/namespaces/{namespace}/{kind}/{kind_instance_name}/{resource_name}
其中,api表示接口固定前缀,v1表示接口版本,namespace表示资源所属的命名空间,kind表示资源类型,kind_instance_name表示资源名称,resource_name表示目标字段的字段标识。
在一个例子中,节点资源类型的POST接口中各个接口参数的示例如下:
/api/v1/namespaces/alice-9d060f86b01acbb3/domainsources/43bc427625934cafb28ec0b876184b1e/spec-data
集群资源类型的POST接口包括如下接口参数:
/api/v1/{kind}/{kind_instance_name}/{resource_name}
其中,各个接口参数的定义可以参见上文所述。
在一个例子中,集群资源类型的POST接口中各个接口参数的示例如下:
/api/v1/kusciatasks/secretflow-qweqassdad1/task-input-config
应理解,服务平台在调用上述两种类型的POST接口的过程中,需要指定相应的请求内容,这里的请求内容包括,上述各接口参数的参数值,以及资源内容(content)。更具体地,该资源内容可以为,目标字段的字段值。
步骤S208,扩展存储服务存储目标字段的字段值。
扩展存储服务响应于存储请求,存储目标字段的字段值后,可以向服务平台返回响应结果。该响应结果可以包括:status.code(响应状态码)、status.message(状态信息)以及status.details(状态补充信息)等。
步骤S210,服务平台生成目标配置信息,该目标配置信息包括注释字段和数据字段,其中,注释字段包括目标注释信息,其指示目标字段的字段标识。数据字段中目标字段的字段值被置空。
具体地,服务平台可以在接收的响应结果指示目标字段的字段值存储成功后,生成目标配置信息。
在本说明书实施例中,目标配置信息的生成方式可以包括两种:第一种,直接生成目标配置信息;第二种,先生成初始配置信息,然后通过对初始配置信息的部分字段进行修改,得到目标配置信息。
以下先对第一种生成方式进行说明:
服务平台可以依次确定待创建的目标资源所包括的各个字段的内容,之后基于这些内容可以形成目标资源的目标配置信息。
以CRD类型的目标资源为例来说,目标资源所包括的各个字段包括,apiVersion、kind、metadata、spec等。进一步地,metadata字段还可以包括注释字段等。
其中,对于spec字段,由于其用于描述目标资源的存储内容,而存储内容中的目标字段的字段值会被存储到扩展存储服务中,因此,确定spec字段的内容可以包括,将目标字段的字段值置空,然后将字段值为空的目标字段添加到spec字段中;和/或,将字段值为原始值的其它字段添加到spec字段中。
需要说明,在将字段值为空的目标字段添加到spec字段后,可以将目标字段的字段标识添加到注释字段中,也即将注释字段的内容设为目标字段的字段标识。
在一个实施例中,这里的字段标识可以是指字段的路径,比如,其可以为:spec.xxx.xxx.data,或者,spec.yyy.xxx.data等,其中,data为字段名称。
需要说明,spec字段中所包括的各个字段可能会存在重复,因此,本方案采用字段的路径来标识各个字段,以便能够准确区分注释字段中添加的各个字段。
应理解,当目标资源的存储内容中存在多个占用量超过预定阈值的字段时,那么注释字段可以包括该多个字段的字段标识。
以上是对第一种生成方式的说明,以下对第二种生成方式进行说明:
先生成初始配置信息。这里的初始配置信息可以是基于预定义的配置规则,针对目标资源所包括的各个字段确定的内容形成的。应理解,在该初始配置信息中,注释字段的内容为空,数据字段包括目标字段的字段值。
然而,由于存储内容中的目标字段的字段值被存储到了扩展存储服务中,因此,可以将初始配置信息中的目标字段的字段值置为空,且将目标注释信息添加到注释字段中,从而得到目标配置信息。
需要说明,上述目标配置信息或初始配置信息所包括的各个字段,均为针对目标定制资源预定义的各个字段。
步骤S212,服务平台基于目标配置信息,向kubernetes发送创建请求。
在一个实施例中,上述创建请求可以是用于请求利用kubernetes的API接口创建目标资源。其中,该接口的接口参数包括上述目标配置信息,即目标资源所包括的各个字段的内容。
步骤S214,kubernetes根据目标配置信息,创建目标资源。
具体地,可以是由kubernetes中的API server根据目标配置信息,创建目标资源。
应理解,基于上文所述的目标配置信息创建的目标资源中的注释字段包括目标注释信息,数据字段包括目标字段,且该目标字段的字段值为空。
在一个示例中,所创建的目标资源为CR资源,其可以参见如下代码段:
apiVersion:kuscia.secretflow/v1
kind:DataSource
metadata:
name:43bc427625934cafb28ec0b876184b1e
namespace:alice-9d060f86b01acbb3
annotation:
kuscia.secretflow/fetch-from-metadb:"[\"spec.data\"]"
spec:
data:""
...
其中,在上述代码段中,第4行的metadata.name表示资源名称,第5行的metadata.namespace表示资源所属的命名空间。第7行的metadata.annotation.kuscia.secretflow/fetch-from-metadb表示注释字段,其内容用于指示占用量超过预定阈值的字段的字段标识。应理解,在资源的存储内容不包括占用量超过预定阈值的字段时,该注释字段的内容为空。第9行的spec.data表示占用量超过预定阈值的字段,其对应的字段值为空。
应理解,以上是对在资源的存储内容中存在占用量超过预定阈值的目标字段的情况下,目标资源的创建方法的说明,在不存在目标字段的情况下,则服务平台按照正常流程生成对应的配置信息,比如上述初始配置信息,之后基于初始配置信息向kubernetes发送创建请求。
综上,在本说明实施例提供的方案中,对于待创建的目标资源的存储内容中占用量超过预定阈值的目标字段,可以将该目标字段的字段值存储到扩展存储服务中,并在目标资源对应的配置信息中添加用于指示目标字段的字段标识的注释信息,以供使用方基于该注释信息,读取目标字段的字段值。也就是说,通过本方案所创建的目标资源,针对其中所存储的内容没有大小限制,从而本方案具有较高的普遍适用性。此外,通过将占用量较大的目标字段存储到扩展存储服务中,可以确保kubernetes稳定性和性能不被影响。
需要说明,对于上述创建的目标资源,使用方可以从中读取存储内容,以下对该读取过程进行说明。
图3示出根据一个实施例的kubernetes中的资源获取方法示意图。如图3所示,该方法可以包括如下步骤:
步骤S302,使用方向kubernetes发送获取请求,其中包括待获取的目标资源的资源标识。
上述使用方可以实现为任何具有计算、处理能力的装置、设备、平台、设备集群等。
上述资源标识例如可以为资源名称等。
在一个实施例中,使用方可以预先向kubernetes申请监听目标资源的变更。这里目标定制资源的变更包括以下中的任一项:创建、修改以及删除。在一个更具体的实施例中,对于目标定制资源的变更的监听,可以基于kubernetes的list-watch机制实现。
list-watch机制是一种异步消息处理机制,它使得kubernetes与使用方能够同步更新信息。具体地,在使用方申请监听目标资源的变更时,kubernetes与使用方之间可以构建一条tcp长连接,当监测到变更时,通过tcp长连接,向使用方发送更新事件通知。
在使用方预先向kubernetes申请监听目标资源的变更的情况下,上述获取请求可以是由使用方在从kubernetes接收到针对目标资源的更新事件通知而发出。
当然,在实际应中,使用方也可以不进行上述监听操作,而直接向kubernetes发送获取请求,本说明书对此不作限定。
步骤S304,kubernetes向使用方返回目标资源,该目标资源包括注释字段。
当然,在实际应用中,上述目标资源还可以包括用于描述目标资源的存储内容的数据字段等。
步骤S306,使用方判断注释字段中是否包括目标注释信息,该目标注释信息指示目标资源的存储内容中占用量超过预定阈值的目标字段的字段标识。
应理解,在本说明书实施例中,在目标资源的存储内容中存在占用量超过预定阈值的目标字段的情况下,注释字段的内容不为空,也即注释字段包括目标注释信息。因此,在使用方判断存在上述目标注释信息的情况下,其可以从扩展存储服务中读取目标字段的字段值。
此外,在上述注释字段中包括目标注释信息的情况下,数据字段中目标字段的字段值为空。
步骤S308,在注释字段包括目标注释信息的情况下,向扩展存储服务发送读取请求。
在一个实施例中,上述存储请求可以是用于请求利用扩展存储服务的查询资源(GET)接口读取目标字段的字段值。
这里的GET接口也可以包括如下两种类型:节点资源类型和集群资源类型。
其中,节点资源类型的GET接口包括如下接口参数:
/api/v1/namespaces/{namespace}/{kind}/{kind_instance_name}/{resource_name}
集群资源类型的GET接口包括如下接口参数:
/api/v1/{kind}/{kind_instance_name}/{resource_name}
上述两种类型的GET接口所包括各个接口参数的定义可以参见上文所述。
同理,服务平台在调用上述两种类型的GET接口的过程中,需要指定相应的请求内容,这里的请求内容仅包括上述各接口参数的参数值。
此外,扩展存储服务响应于上述读取请求,可以返回响应结果,该响应结果可以包括:content(资源内容),status.code(响应状态码)、status.message(状态信息)以及status.details(状态补充信息)等。这里的资源内容具体可以为目标字段的字段值。
需要说明,除了上述的POST接口和GET接口,本说明书实施例所述的扩展存储服务还可以提供更新资源的接口(PUT接口)和删除资源的接口(DELETE接口)。
其中,PUT接口也可以包括如下两种类型:节点资源类型和集群资源类型。
其中,节点资源类型的PUT接口包括如下接口参数:
/api/v1/namespaces/{namespace}/{kind}/{kind_instance_name}/{resource_name}
集群资源类型的PUT接口包括如下接口参数:
/api/v1/{kind}/{kind_instance_name}/{resource_name}
需要说明,针对PUT接口的调用也需要指定请求内容,该请求内容包括上述各接口参数的参数值和资源内容(content)。对应的响应结果可以包括:status.code(响应状态码)、status.message(状态信息)以及status.details(状态补充信息)等。
以及,DELETE接口也可以包括如下两种类型:节点资源类型和集群资源类型。
其中,节点资源类型的DELETE接口包括如下接口参数:
/api/v1/namespaces/{namespace}/{kind}/{kind_instance_name}/{resource_name}
集群资源类型的DELETE接口包括如下接口参数:
/api/v1/{kind}/{kind_instance_name}/{resource_name}
需要说明,针对DELETE接口的调用也需要指定请求内容,该请求内容包括上述各接口参数的参数值。对应的响应结果可以包括:status.code(响应状态码)、status.message(状态信息)以及status.details(状态补充信息)等。
步骤S310,扩展存储服务根据字段标识读取目标字段的字段值,并返回给使用方。
在一个实施例中,扩展存储服务可以将资源namespace,资源类型,资源名称,字段标识以及字段值存储在数据库中,上述步骤310具体可以包括,根据资源namespace,资源类型,资源名称以及字段标识,获取相匹配的目标字段的字段值。
至此,使用方就读取到了目标资源的存储内容。
以上是对注释字段包括目标注释信息的情况下,存储内容的读取方法的说明,在注释字段不包括目标注释信息的情况下,也即注释字段的内容为空的情况下,可以直接从数据字段中读取目标字段的字段值,并将其作为所需读取的目标资源的存储内容。
综合以上,本说明书实施例提供的kubernetes中的资源获取方法,在所获取的目标资源中的注释字段包括注释信息的情况下,也即在目标资源的存储内容比较大的情况下,可以从扩展存储服务中读取存储内容;而在目标资源的存储内容正常的情况下,可以直接从目标资源中读取存储内容,也即可以兼容多种场景,由此提升了本方案的普遍适用性。
与上述kubernetes中的资源创建方法对应地,本说明书一个实施例还提供的一种资源创建装置,设置于服务平台,如图4所示,该装置可以包括:
接收单元402,用于接收第一指令,其用于指示在kubernetes中创建目标资源。
确定单元404,用于确定目标资源的存储内容中是否存在占用量超过预定阈值的目标字段。
发送单元406,用于在存在目标字段的情况下,向扩展存储服务发送存储请求,使得扩展存储服务存储目标字段的字段值。
生成单元408,用于生成目标配置信息,该目标配置信息包括注释字段和数据字段,其中的注释字段包括目标注释信息,其指示目标字段的字段标识;数据字段中目标字段的字段值被置空。
发送单元406,还用于基于目标配置信息,向kubernetes发送创建请求,使得kubernetes根据目标配置信息,创建目标资源。
其中,上述目标资源为定制资源CR。
生成单元408具体用于:
生成初始配置信息,其中包括注释字段和数据字段,该注释字段为空,该数据字段包括目标字段的字段值;
将初始配置信息中的目标字段的字段值置为空,且将目标注释信息添加到注释字段中,得到目标配置信息。
本说明书上述实施例装置的各单元的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
需要说明,本说明书上述实施例所列的各个单元所实现的功能,可以直接封装成代码SDK。之后可以直接通过调用SDK相关接口,就可以实现资源创建。
本说明书一个实施例提供的资源创建装置,所创建的目标资源针对其中所存储的内容没有大小限制,从而本方案具有较高的普遍适用性。
与上述kubernetes中的资源获取方法对应地,本说明书一个实施例还提供的一种资源获取装置,设置于使用方,如图5所示,该装置可以包括:
发送单元502,用于向kubernetes发送获取请求,其中包括待获取的目标资源的资源标识。
在一个实施例中,上述获取请求由使用方在从kubernetes接收到针对目标资源的更新事件通知而发出,该使用方预先向kubernetes申请监听目标资源的变更。
接收单元504,用于从kubernetes接收目标资源,该目标资源包括注释字段。
判断单元506,用于判断注释字段中是否包括目标注释信息,该目标注释信息指示目标资源的存储内容中占用量超过预定阈值的目标字段的字段标识。
发送单元502,还用于在注释字段包括目标注释信息的情况下,向扩展存储服务发送读取请求,使得扩展存储服务根据字段标识读取目标字段的字段值,并返回给使用方。
在一个实施例中,目标资源还包括数据字段,在注释字段包括目标注释信息的情况下,数据字段中目标字段的字段值被置空。
在另一个实施例中,目标资源还包括数据字段,所述装置还包括:
读取单元508,用于在注释字段不包括目标注释信息的情况下,从数据字段中读取目标字段的字段值。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的资源获取装置,可以兼容多种场景,由此提升了本方案的普遍适用性。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图3所描述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。
Claims (11)
1.一种kubernetes中的资源创建方法,通过服务平台执行,包括:
接收第一指令,其用于指示在kubernetes中创建目标资源;
确定所述目标资源的存储内容中是否存在占用量超过预定阈值的目标字段;
在存在所述目标字段的情况下,向扩展存储服务发送存储请求,使得所述扩展存储服务存储所述目标字段的字段值;
生成目标配置信息,所述目标配置信息包括注释字段和数据字段,所述注释字段包括目标注释信息,其指示所述目标字段的字段标识;所述数据字段中所述目标字段的字段值被置空;
基于所述目标配置信息,向kubernetes发送创建请求,使得所述kubernetes根据所述目标配置信息,创建所述目标资源。
2.根据权利要求1所述的方法,其中,所述生成目标配置信息,包括:
生成初始配置信息,其中包括所述注释字段和数据字段,所述注释字段为空,所述数据字段包括所述目标字段的字段值;
将所述初始配置信息中的所述目标字段的字段值置为空,且将所述目标注释信息添加到所述注释字段中,得到所述目标配置信息。
3.根据权利要求1所述的方法,其中,所述目标资源为定制资源CR。
4.一种kubernetes中的资源获取方法,通过使用方执行,包括:
向kubernetes发送获取请求,其中包括待获取的目标资源的资源标识;
从所述kubernetes接收所述目标资源,所述目标资源包括注释字段;
判断所述注释字段中是否包括目标注释信息,所述目标注释信息指示所述目标资源的存储内容中占用量超过预定阈值的目标字段的字段标识;
在所述注释字段包括所述目标注释信息的情况下,向扩展存储服务发送读取请求,使得所述扩展存储服务根据所述字段标识读取所述目标字段的字段值,并返回给所述使用方。
5.根据权利要求4所述的方法,其中,所述目标资源还包括数据字段;所述方法还包括:
在所述注释字段不包括所述目标注释信息的情况下,从所述数据字段中读取所述目标字段的字段值。
6.根据权利要求4所述的方法,其中,所述获取请求由所述使用方在从所述kubernetes接收到针对所述目标资源的更新事件通知而发出;所述使用方预先向所述kubernetes申请监听所述目标资源的变更。
7.根据权利要求4所述的方法,其中,所述目标资源还包括数据字段,在所述注释字段包括所述目标注释信息的情况下,所述数据字段中所述目标字段的字段值被置空。
8.一种资源创建装置,设置于服务平台,包括:
接收单元,用于接收第一指令,其用于指示在kubernetes中创建目标资源;
确定单元,用于确定所述目标资源的存储内容中是否存在占用量超过预定阈值的目标字段;
发送单元,用于在存在所述目标字段的情况下,向扩展存储服务发送存储请求,使得所述扩展存储服务存储所述目标字段的字段值;
生成单元,用于生成目标配置信息,所述目标配置信息包括注释字段和数据字段,所述注释字段包括目标注释信息,其指示所述目标字段的字段标识;所述数据字段中所述目标字段的字段值被置空;
所述发送单元,还用于基于所述目标配置信息,向kubernetes发送创建请求,使得所述kubernetes根据所述目标配置信息,创建所述目标资源。
9.一种资源获取装置,设置于使用方,包括:
发送单元,用于向kubernetes发送获取请求,其中包括待获取的目标资源的资源标识;
接收单元,用于从所述kubernetes接收所述目标资源,所述目标资源包括注释字段;
判断单元,用于判断所述注释字段中是否包括目标注释信息,所述目标注释信息指示所述目标资源的存储内容中占用量超过预定阈值的目标字段的字段标识;
所述发送单元,还用于在所述注释字段包括所述目标注释信息的情况下,向扩展存储服务发送读取请求,使得所述扩展存储服务根据所述字段标识读取所述目标字段的字段值,并返回给所述使用方。
10.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。
11.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310328674.3A CN116339921A (zh) | 2023-03-27 | 2023-03-27 | kubernetes中的资源创建、获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310328674.3A CN116339921A (zh) | 2023-03-27 | 2023-03-27 | kubernetes中的资源创建、获取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116339921A true CN116339921A (zh) | 2023-06-27 |
Family
ID=86880344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310328674.3A Pending CN116339921A (zh) | 2023-03-27 | 2023-03-27 | kubernetes中的资源创建、获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116339921A (zh) |
-
2023
- 2023-03-27 CN CN202310328674.3A patent/CN116339921A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11394805B1 (en) | Automatic discovery of API information | |
CN109635019B (zh) | 请求处理方法、装置、设备及存储介质 | |
CN106375458B (zh) | 服务调用系统、方法及装置 | |
CN110557284B (zh) | 基于客户端网关的数据聚合方法及装置 | |
CN112738216B (zh) | 一种设备适配方法、装置、设备和计算机可读存储介质 | |
CN110888842A (zh) | 一种文件存储方法、文件查询方法、装置及设备 | |
CN111722947A (zh) | 服务调用方法及系统 | |
CN112929401A (zh) | 一种注册方法及装置 | |
CN113364853A (zh) | 一种业务服务系统、业务请求方法及网关设备 | |
CN108959465B (zh) | 业务数据的存储、读取方法、装置及服务器 | |
CN113886499B (zh) | 基于区块链的病理数据分享方法、分享系统及计算设备 | |
CN107276912B (zh) | 存储器、报文处理方法及分布式存储系统 | |
CN103503388B (zh) | 一种分布式队列消息读取方法及设备、系统 | |
CN110442636B (zh) | 一种数据的读写方法、装置及数据读写设备 | |
CN116339921A (zh) | kubernetes中的资源创建、获取方法及装置 | |
CN115858466A (zh) | 一种操作日志生成方法、装置、设备及介质 | |
CN115550380A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN115658768A (zh) | 一种状态数据库的属性查询方法、装置及相关介质 | |
CN114092211A (zh) | 核算数据的处理方法、电子设备和可读存储介质 | |
CN111459819B (zh) | 软件测试方法及装置、电子设备、计算机可读介质 | |
CN110389966B (zh) | 一种信息处理方法及装置 | |
CN109688204B (zh) | 基于ndn网络的文件下载方法、节点、终端 | |
CN114549137A (zh) | 请求处理方法及设备 | |
CN113239048A (zh) | 一种数据管理方法、装置、电子设备及存储介质 | |
CN112270601B (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 |