CN114124901B - Pod结构体修改方法、装置、计算机设备及存储介质 - Google Patents

Pod结构体修改方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114124901B
CN114124901B CN202111388807.3A CN202111388807A CN114124901B CN 114124901 B CN114124901 B CN 114124901B CN 202111388807 A CN202111388807 A CN 202111388807A CN 114124901 B CN114124901 B CN 114124901B
Authority
CN
China
Prior art keywords
pod
range
request
pod request
pool
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.)
Active
Application number
CN202111388807.3A
Other languages
English (en)
Other versions
CN114124901A (zh
Inventor
胡之卓
王立勋
盛钟滨
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.)
Shenzhen Huayun Zhongsheng Technology Co ltd
Original Assignee
Shenzhen Huayun Zhongsheng Technology Co ltd
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 Shenzhen Huayun Zhongsheng Technology Co ltd filed Critical Shenzhen Huayun Zhongsheng Technology Co ltd
Priority to CN202111388807.3A priority Critical patent/CN114124901B/zh
Publication of CN114124901A publication Critical patent/CN114124901A/zh
Application granted granted Critical
Publication of CN114124901B publication Critical patent/CN114124901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/308Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information retaining data, e.g. retaining successful, unsuccessful communication attempts, internet access, or e-mail, internet telephony, intercept related information or call content

Abstract

本发明实施例公开了Pod结构体修改方法、装置、计算机设备及存储介质。所述方法包括:定义IP网段范围,并生成可用数量;定义IP池;定义IP需求,分配IP;创建Statefulset;拦截Pod请求,并修改Pod请求结构体;保存修改后的Pod请求结构体。通过实施本发明实施例的方法可以解决现有Kubernetes集群有状态的服务无法灵活管理IP的问题,实现确保Kubernetes的可维护性和可扩展性。

Description

Pod结构体修改方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机,更具体地说是指Pod结构体修改方法、装置、计算机设备及存储介质。
背景技术
CNI(容器网络接口,Container Network Interface)是一个云原生基金会的项目,由在Linux容器中配置网络接口的配置以及一些受支持的插件组成。CNI只关注容器的网络连接和删除容器时删除分配的资源。CNI的出现提供了Kubernetes的统一网络规范,由此发散式的出现许多网络插件。例如:calico、macvlan、weave、clilium、flannel等等。目前业界在Kubernetes上的网络插件大多都是为无状态的服务提供IP管理,针对数据库这类有状态的服务还没有成熟的解决方法。calico等网络插件为Kubernetes仅提供了单个Pod固定IP(网络之间互连的协议,Internet Protocol)解决方案。
但是现有的方式是采用Kubernetes为有状态的服务提供了StatefulSet控制器,使用StatefulSet域名解析的特性和Service无头服务的方式可以解决有状态服务点对点的访问,但Pod被重新创建后,Pod的IP将会被更新,虽然可以使用StatefulSet域名解析的特性和Service无头服务解决点到点的访问问题,但是实际的目的IP会被更新,如Kafka、Redis等IP和主机名强绑定的有状态的服务,即IP和主机名一致视为一个节点的服务将无法正常组成一个集群。使用单个Pod固定IP的方式虽可以解决这类问题,但是会减少Kubernetes的可维护性和可扩展性。
因此,有必要设计一种新的方法,以解决现有Kubernetes集群有状态的服务无法灵活管理IP的问题,实现确保Kubernetes的可维护性和可扩展性。
发明内容
本发明的目的在于克服现有技术的缺陷,提供Pod结构体修改方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:Pod结构体修改方法,包括:
定义IP网段范围,并生成可用数量;
定义IP池;
定义IP需求,分配IP;
创建Statefulset;
拦截Pod请求,并修改Pod请求结构体;
保存修改后的Pod请求结构体。
其进一步技术方案为:所述定义IP网段范围,并生成可用数量,包括:
定义IP网段范围;
获取所述IP网段范围中的已使用IP;
获取所述IP网段范围中的所有IP;
对比所有IP和已使用IP,以获取差异数量;
保存所述差异数量至IP网段范围的状态,以得到可用数量。
其进一步技术方案为:所述定义IP池,包括:
定义IP池的名称以及IP池的IP范围段名称列表。
其进一步技术方案为:所述定义IP需求,分配IP,包括:
定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池;
根据IP需求的数量判断IP池的IP范围段名称列表中是否有满足数量的IP范围段;
若IP池的IP范围段名称列表中有满足数量的IP范围段,则修改所述IP网段范围的详细信息;
若IP池的IP范围段名称列表中是否有满足数量的IP范围段,则执行所述定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池。
其进一步技术方案为:所述创建Statefulset,包括:
创建名称与IP需求的名称一致、命名空间与IP需求的命名空间一致且Pod数量与IP需求的数量一致的Statefulset。
其进一步技术方案为:所述拦截Pod请求,并修改Pod请求结构体,包括:
当Pod资源变化时拦截Pod请求;
判断所述Pod请求是否能与所述IP需求匹配;
若所述Pod请求不能与所述IP需求匹配,则保持Pod请求结构体不变,并将所述Pod请求结构体反馈至Kubernetes;
若所述Pod请求能与所述IP需求匹配,则判断所述Pod请求是否能与所述IP网段范围匹配;
若所述Pod请求能与所述IP网段范围匹配,则修改Pod请求结构体。
其进一步技术方案为:所述修改Pod请求结构体,包括:
将IP信息注入Pod请求结构体内。
本发明还提供了Pod结构体修改装置,包括:
范围定义单元,用于定义IP网段范围,并生成可用数量;
IP池定义单元,用于定义IP池;
IP需求定义单元,用于定义IP需求,分配IP;
创建单元,用于创建Statefulset;
修改单元,用于拦截Pod请求,并修改Pod请求结构体;
保存单元,用于保存修改后的Pod请求结构体。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过确定可用的IP、定义IP池以及IP需求,创建Statefulset,拦截Pod请求,并根据Pod请求修改Pod请求结构体,以解决现有Kubernetes集群有状态的服务无法灵活管理IP的问题,实现确保Kubernetes的可维护性和可扩展性。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的Pod结构体修改方法的应用场景示意图;
图2为本发明实施例提供的Pod结构体修改方法的流程示意图;
图3为本发明实施例提供的Pod结构体修改方法的子流程示意图;
图4为本发明实施例提供的Pod结构体修改方法的子流程示意图;
图5为本发明实施例提供的Pod结构体修改方法的子流程示意图;
图6为本发明实施例提供的Pod结构体修改装置的示意性框图;
图7为本发明实施例提供的Pod结构体修改装置的范围定义单元的示意性框图;
图8为本发明实施例提供的Pod结构体修改装置的IP需求定义单元的示意性框图;
图9为本发明实施例提供的Pod结构体修改装置的修改单元的示意性框图;
图10为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的Pod结构体修改方法的应用场景示意图。图2为本发明实施例提供的Pod结构体修改方法的示意性流程图。该Pod结构体修改方法应用于服务器中,该服务器与终端进行数据交互,通过确定可用的IP、定义IP池以及IP需求,创建Statefulset,拦截来自终端的Pod请求,并根据Pod请求修改Pod请求结构体,以解决现有Kubernetes集群有状态的服务无法灵活管理IP的问题,实现确保Kubernetes的可维护性和可扩展性。
图2是本发明实施例提供的Pod结构体修改方法的流程示意图。如图2所示,该方法包括以下步骤S110至S160。
S110、定义IP网段范围,并生成可用数量。
在本实施例中,IP网段范围是指IP地址所对应的网段范围,可用数量是指可用的IP的总数量。
在一实施例中,请参阅图3,上述的步骤S110可包括步骤S111~S115。
S111、定义IP网段范围。
在本实施例中,具体是定义IP网段范围的名称、IP网段范围的网卡设备名称、IP网段范围的网关地址、IP网段范围的网段和子网掩码、IP网段范围的起始地址、IP网段范围的结束地址、IP网段范围的可用数量、IP网段范围的详细信息包括所有分配的IP。根据IP网段范围的起始地址和IP网段范围的结束地址计算出可用的IP,汇总生成可用数量。
S112、获取所述IP网段范围中的已使用IP。
在本实施例中,已使用IP是指已被占用的IP。
S113、获取所述IP网段范围中的所有IP。
在本实施例中,所有IP是指所有可分配的IP。
具体地,通过对IP网段范围的起始地址和IP网段范围的结束地址比对计算的方式获得所有IP。
S114、对比所有IP和已使用IP,以获取差异数量。
在本实施例中,差异数量是指可用IP的数量。
S115、保存所述差异数量至IP网段范围的状态,以得到可用数量。
具体地,将可用的IP数量保存至IP网段范围的可用数量。
S120、定义IP池。
在本实施例中,IP池是指所有IP构成的结合。
具体地,定义IP池的名称以及IP池的IP范围段名称列表。
S130、定义IP需求,分配IP。
在一实施例中,请参阅图4,上述的步骤S130可包括步骤S131~S133。
S131、定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池。
具体地,需构建名称与步骤S120的IP池的名称一致的IP池,且构建的IP池存储这些IP需求。
S132、根据IP需求的数量判断IP池的IP范围段名称列表中是否有满足数量的IP范围段;
S133、若IP池的IP范围段名称列表中有满足数量的IP范围段,则修改所述IP网段范围的详细信息。
具体地,将符合要求的IP按顺序添加到所述IP网段范围的详细信息内。
若IP池的IP范围段名称列表中是否有满足数量的IP范围段,则执行所述步骤S131。
根据IP需求的数量顺序判定IP池的IP范围段名称列表中是否有满足数量的IP范围段,若有,则修改IP网段范围的详细信息将符合要求的IP按顺序添加,若没有,则不执行任何操作。
S140、创建Statefulset。
在本实施例中,创建名称与IP需求的名称一致、命名空间与IP需求的命名空间一致且Pod数量与IP需求的数量一致的Statefulset。已确保创建的Statefulset可以有效地服务有状态的IP需求。
S150、拦截Pod请求,并修改Pod请求结构体。
在本实施例中,Pod请求结构体是指Pod结构体。
在一实施例中,请参阅图5,上述的步骤S150可包括步骤S151~S155。
S151、当Pod资源变化时拦截Pod请求;
S152、判断所述Pod请求是否能与所述IP需求匹配;
S153、若所述Pod请求不能与所述IP需求匹配,则保持Pod请求结构体不变,并将所述Pod请求结构体反馈至Kubernetes;
S154、若所述Pod请求能与所述IP需求匹配,则判断所述Pod请求是否能与所述IP网段范围匹配;
若所述Pod请求不能与所述IP需求匹配,则执行所述步骤S153。
S155、若所述Pod请求能与所述IP网段范围匹配,则修改Pod请求结构体。
具体地,将IP信息注入Pod请求结构体内。其中,IP信息是指当前Pod请求所针对的IP的相关信息,包括IP网段范围等。
S160、保存修改后的Pod请求结构体。
具体地,将修改后的Pod请求结构体返回给Kubernetes,以完成修改后的Pod请求结构体的保存。
通过基于Kubernetes的修改Pod结构体适配主流网络插件的方法,可以使用主流的插件,例如calico、macvlan、weave、clilium、flannel等,对IP进行固定及灵活管理。
上述的Pod结构体修改方法,通过确定可用的IP、定义IP池以及IP需求,创建Statefulset,拦截Pod请求,并根据Pod请求修改Pod请求结构体,以解决现有Kubernetes集群有状态的服务无法灵活管理IP的问题,实现确保Kubernetes的可维护性和可扩展性。
图6是本发明实施例提供的一种Pod结构体修改装置300的示意性框图。如图6所示,对应于以上Pod结构体修改方法,本发明还提供一种Pod结构体修改装置300。该Pod结构体修改装置300包括用于执行上述Pod结构体修改方法的单元,该装置可以被配置于服务器中。具体地,请参阅图6,该Pod结构体修改装置300包括范围定义单元301、IP池定义单元302、IP需求定义单元303、创建单元304、修改单元305以及保存单元306。
范围定义单元301,用于定义IP网段范围,并生成可用数量;IP池定义单元302,用于定义IP池;IP需求定义单元303,用于定义IP需求,分配IP;创建单元304,用于创建Statefulset;修改单元305,用于拦截Pod请求,并修改Pod请求结构体;保存单元306,用于保存修改后的Pod请求结构体。
在一实施例中,如图7所示,所述范围定义单元301包括网段范围定义子单元3011、已使用IP获取子单元3012、所有IP获取子单元3013、对比子单元3014以及数量保存子单元3015。
网段范围定义子单元3011,用于定义IP网段范围;已使用IP获取子单元3012,用于获取所述IP网段范围中的已使用IP;所有IP获取子单元3013,用于获取所述IP网段范围中的所有IP;对比子单元3014,用于对比所有IP和已使用IP,以获取差异数量;数量保存子单元3015,用于保存所述差异数量至IP网段范围的状态,以得到可用数量。
在一实施例中,所述IP池定义单元302,用于定义IP池的名称以及IP池的IP范围段名称列表。
在一实施例中,如图8所示,所述IP需求定义单元303包括需求定义子单元3031、范围段判断子单元3032以及信息修改子单元3033。
需求定义子单元3031,用于定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池;范围段判断子单元3032,用于根据IP需求的数量判断IP池的IP范围段名称列表中是否有满足数量的IP范围段;若IP池的IP范围段名称列表中是否有满足数量的IP范围段,则执行所述定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池。信息修改子单元3033,用于若IP池的IP范围段名称列表中有满足数量的IP范围段,则修改所述IP网段范围的详细信息。
在一实施例中,所述创建单元304,用于创建名称与IP需求的名称一致、命名空间与IP需求的命名空间一致且Pod数量与IP需求的数量一致的Statefulset。
在一实施例中,如图9所示,所述修改单元305包括拦截子单元3051、需求判断子单元3052、第一反馈子单元3053、范围匹配判断子单元3054以及结构体修改子单元3055。
拦截子单元3051,用于当Pod资源变化时拦截Pod请求;需求判断子单元3052,用于判断所述Pod请求是否能与所述IP需求匹配;第一反馈子单元3053,用于若所述Pod请求不能与所述IP需求匹配,则保持Pod请求结构体不变,并将所述Pod请求结构体反馈至Kubernetes;范围匹配判断子单元3054,用于若所述Pod请求能与所述IP需求匹配,则判断所述Pod请求是否能与所述IP网段范围匹配;结构体修改子单元3055,用于若所述Pod请求能与所述IP网段范围匹配,则修改Pod请求结构体。
在一实施例中,所述结构体修改子单元3055,用于将IP信息注入Pod请求结构体内。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述Pod结构体修改装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述Pod结构体修改装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种Pod结构体修改方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种Pod结构体修改方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
定义IP网段范围,并生成可用数量;
定义IP池;定义IP需求,分配IP;创建Statefulset;拦截Pod请求,并修改Pod请求结构体;保存修改后的Pod请求结构体。
在一实施例中,处理器502在实现所述定义IP网段范围,并生成可用数量步骤时,具体实现如下步骤:
定义IP网段范围;获取所述IP网段范围中的已使用IP;获取所述IP网段范围中的所有IP;对比所有IP和已使用IP,以获取差异数量;保存所述差异数量至IP网段范围的状态,以得到可用数量。
在一实施例中,处理器502在实现所述定义IP池步骤时,具体实现如下步骤:
定义IP池的名称以及IP池的IP范围段名称列表。
在一实施例中,处理器502在实现所述定义IP需求,分配IP步骤时,具体实现如下步骤:
定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池;根据IP需求的数量判断IP池的IP范围段名称列表中是否有满足数量的IP范围段;若IP池的IP范围段名称列表中有满足数量的IP范围段,则修改所述IP网段范围的详细信息;若IP池的IP范围段名称列表中是否有满足数量的IP范围段,则执行所述定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池。
在一实施例中,处理器502在实现所述创建Statefulset步骤时,具体实现如下步骤:
创建名称与IP需求的名称一致、命名空间与IP需求的命名空间一致且Pod数量与IP需求的数量一致的Statefulset。
在一实施例中,处理器502在实现所述拦截Pod请求,并修改Pod请求结构体步骤时,具体实现如下步骤:
当Pod资源变化时拦截Pod请求;判断所述Pod请求是否能与所述IP需求匹配;若所述Pod请求不能与所述IP需求匹配,则保持Pod请求结构体不变,并将所述Pod请求结构体反馈至Kubernetes;若所述Pod请求能与所述IP需求匹配,则判断所述Pod请求是否能与所述IP网段范围匹配;若所述Pod请求能与所述IP网段范围匹配,则修改Pod请求结构体。
在一实施例中,处理器502在实现所述修改Pod请求结构体步骤时,具体实现如下步骤:
将IP信息注入Pod请求结构体内。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
定义IP网段范围,并生成可用数量;定义IP池;定义IP需求,分配IP;创建Statefulset;拦截Pod请求,并修改Pod请求结构体;保存修改后的Pod请求结构体。
在一实施例中,所述处理器在执行所述计算机程序而实现所述定义IP网段范围,并生成可用数量步骤时,具体实现如下步骤:
定义IP网段范围;获取所述IP网段范围中的已使用IP;获取所述IP网段范围中的所有IP;对比所有IP和已使用IP,以获取差异数量;保存所述差异数量至IP网段范围的状态,以得到可用数量。
在一实施例中,所述处理器在执行所述计算机程序而实现所述定义IP池步骤时,具体实现如下步骤:
定义IP池的名称以及IP池的IP范围段名称列表。
在一实施例中,所述处理器在执行所述计算机程序而实现所述定义IP需求,分配IP步骤时,具体实现如下步骤:
定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池;根据IP需求的数量判断IP池的IP范围段名称列表中是否有满足数量的IP范围段;若IP池的IP范围段名称列表中有满足数量的IP范围段,则修改所述IP网段范围的详细信息;若IP池的IP范围段名称列表中是否有满足数量的IP范围段,则执行所述定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池。
在一实施例中,所述处理器在执行所述计算机程序而实现所述创建Statefulset步骤时,具体实现如下步骤:
创建名称与IP需求的名称一致、命名空间与IP需求的命名空间一致且Pod数量与IP需求的数量一致的Statefulset。
在一实施例中,所述处理器在执行所述计算机程序而实现所述拦截Pod请求,并修改Pod请求结构体步骤时,具体实现如下步骤:
当Pod资源变化时拦截Pod请求;判断所述Pod请求是否能与所述IP需求匹配;若所述Pod请求不能与所述IP需求匹配,则保持Pod请求结构体不变,并将所述Pod请求结构体反馈至Kubernetes;若所述Pod请求能与所述IP需求匹配,则判断所述Pod请求是否能与所述IP网段范围匹配;若所述Pod请求能与所述IP网段范围匹配,则修改Pod请求结构体。
在一实施例中,所述处理器在执行所述计算机程序而实现所述修改Pod请求结构体步骤时,具体实现如下步骤:
将IP信息注入Pod请求结构体内。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (7)

1.Pod结构体修改方法,其特征在于,包括:
定义IP网段范围,并生成可用数量;
定义IP池;
定义IP需求,分配IP;
创建Statefulset;
拦截Pod请求,并修改Pod请求结构体;
保存修改后的Pod请求结构体;
所述创建Statefulset,包括:
创建名称与IP需求的名称一致、命名空间与IP需求的命名空间一致且Pod数量与IP需求的数量一致的Statefulset;
所述拦截Pod请求,并修改Pod请求结构体,包括:
当Pod资源变化时拦截Pod请求;
判断所述Pod请求是否能与所述IP需求匹配;
若所述Pod请求不能与所述IP需求匹配,则保持Pod请求结构体不变,并将所述Pod请求结构体反馈至Kubernetes;
若所述Pod请求能与所述IP需求匹配,则判断所述Pod请求是否能与所述IP网段范围匹配;
若所述Pod请求能与所述IP网段范围匹配,则修改Pod请求结构体;
所述修改Pod请求结构体,包括:
将IP信息注入Pod请求结构体内。
2.根据权利要求1所述的Pod结构体修改方法,其特征在于,所述定义IP网段范围,并生成可用数量,包括:
定义IP网段范围;
获取所述IP网段范围中的已使用IP;
获取所述IP网段范围中的所有IP;
对比所有IP和已使用IP,以获取差异数量;
保存所述差异数量至IP网段范围的状态,以得到可用数量。
3.根据权利要求2所述的Pod结构体修改方法,其特征在于,所述定义IP池,包括:
定义IP池的名称以及IP池的IP范围段名称列表。
4.根据权利要求3所述的Pod结构体修改方法,其特征在于,所述定义IP需求,分配IP,包括:
定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池;
根据IP需求的数量判断IP池的IP范围段名称列表中是否有满足数量的IP范围段;
若IP池的IP范围段名称列表中有满足数量的IP范围段,则修改所述IP网段范围的详细信息;
若IP池的IP范围段名称列表中没有满足数量的IP范围段,则执行所述定义IP需求的名称、IP需求的命名空间、IP需求的数量以及名称与所述IP池的名称一致且由IP需求构成的IP池。
5.Pod结构体修改装置,其特征在于,包括:
范围定义单元,用于定义IP网段范围,并生成可用数量;
IP池定义单元,用于定义IP池;
IP需求定义单元,用于定义IP需求,分配IP;
创建单元,用于创建Statefulset;
修改单元,用于拦截Pod请求,并修改Pod请求结构体;
保存单元,用于保存修改后的Pod请求结构体;
所述创建单元,用于创建名称与IP需求的名称一致、命名空间与IP需求的命名空间一致且Pod数量与IP需求的数量一致的Statefulset;
所述修改单元包括拦截子单元、需求判断子单元、第一反馈子单元、范围匹配判断子单元以及结构体修改子单元;
拦截子单元,用于当Pod资源变化时拦截Pod请求;需求判断子单元,用于判断所述Pod请求是否能与所述IP需求匹配;第一反馈子单元,用于若所述Pod请求不能与所述IP需求匹配,则保持Pod请求结构体不变,并将所述Pod请求结构体反馈至Kubernetes;范围匹配判断子单元,用于若所述Pod请求能与所述IP需求匹配,则判断所述Pod请求是否能与所述IP网段范围匹配;结构体修改子单元,用于若所述Pod请求能与所述IP网段范围匹配,则修改Pod请求结构体;
所述结构体修改子单元,用于将IP信息注入Pod请求结构体内。
6.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的方法。
7.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至4中任一项所述的方法。
CN202111388807.3A 2021-11-22 2021-11-22 Pod结构体修改方法、装置、计算机设备及存储介质 Active CN114124901B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111388807.3A CN114124901B (zh) 2021-11-22 2021-11-22 Pod结构体修改方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111388807.3A CN114124901B (zh) 2021-11-22 2021-11-22 Pod结构体修改方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN114124901A CN114124901A (zh) 2022-03-01
CN114124901B true CN114124901B (zh) 2023-09-19

Family

ID=80439740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111388807.3A Active CN114124901B (zh) 2021-11-22 2021-11-22 Pod结构体修改方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114124901B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484231B (zh) * 2022-09-14 2023-07-18 浙江大华技术股份有限公司 一种Pod IP分配方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111212134A (zh) * 2019-12-31 2020-05-29 北京金山云网络技术有限公司 一种请求报文处理方法、装置、边缘计算系统和电子设备
CN111352717A (zh) * 2020-03-24 2020-06-30 广西梯度科技有限公司 一种实现kubernetes自定义调度器的方法
CN113220422A (zh) * 2021-06-03 2021-08-06 上海天旦网络科技发展有限公司 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210072966A1 (en) * 2019-09-05 2021-03-11 International Business Machines Corporation Method and system for service rolling-updating in a container orchestrator system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111212134A (zh) * 2019-12-31 2020-05-29 北京金山云网络技术有限公司 一种请求报文处理方法、装置、边缘计算系统和电子设备
CN111352717A (zh) * 2020-03-24 2020-06-30 广西梯度科技有限公司 一种实现kubernetes自定义调度器的方法
CN113220422A (zh) * 2021-06-03 2021-08-06 上海天旦网络科技发展有限公司 基于K8s中CNI插件的运行时修改Pod网络接口的方法及系统

Also Published As

Publication number Publication date
CN114124901A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
US10715485B2 (en) Managing dynamic IP address assignments
US9971823B2 (en) Dynamic replica failure detection and healing
US8539068B2 (en) Methods and systems for providing customized domain messages
US8938510B2 (en) On-demand mailbox synchronization and migration system
JP4916432B2 (ja) アップデートの配布システムにおいてソフトウェアアップデートの配布を管理するためのアプリケーションプログラミングインターフェース
US7949712B2 (en) High availability presence engine for instant messaging
US20120297067A1 (en) Load Balancing System for Workload Groups
US20060123121A1 (en) System and method for service session management
CN114025021B (zh) 一种跨Kubernetes集群的通信方法、系统、介质和电子设备
US20200213262A1 (en) System and method for automating actions in distributed computing
US11032178B2 (en) System and method for creating, deploying, and administering distinct virtual computer networks
CN114124901B (zh) Pod结构体修改方法、装置、计算机设备及存储介质
WO2018072450A1 (en) Method for elastic geographical database replication
EP3399696A1 (en) System and method for automating the discovery process
CN108347465B (zh) 一种选择网络数据中心的方法及装置
CN109324914B (zh) 服务调用方法、服务调用装置及中心服务器
CN112860421A (zh) 用于作业处理的方法、设备和计算机程序产品
CN106936643B (zh) 一种设备联动方法以及终端设备
CN106375132B (zh) 一种云服务器系统的管理方法及云服务器系统
CN110995890B (zh) 域名请求的调度方法及装置
US9753789B2 (en) Distributed system for scheduling action requests
CN112860422A (zh) 用于作业处理的方法、设备和计算机程序产品
US20240022627A1 (en) Domain name system based global server load balancing service
US20230421533A1 (en) Network Traffic Management
Li et al. Accommodate Apache YARN to long-lived services

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
GR01 Patent grant
GR01 Patent grant