CN116192937B - 一种Kubernetes集群系统中Service实现方法、系统、介质及设备 - Google Patents

一种Kubernetes集群系统中Service实现方法、系统、介质及设备 Download PDF

Info

Publication number
CN116192937B
CN116192937B CN202310444803.5A CN202310444803A CN116192937B CN 116192937 B CN116192937 B CN 116192937B CN 202310444803 A CN202310444803 A CN 202310444803A CN 116192937 B CN116192937 B CN 116192937B
Authority
CN
China
Prior art keywords
vpp
service
nat44
cluster system
kubernetes cluster
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
CN202310444803.5A
Other languages
English (en)
Other versions
CN116192937A (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.)
Mingyang Industrial Technology Research Institute Shenyang Co ltd
Original Assignee
Mingyang Industrial Technology Research Institute Shenyang Co ltd
Mingyang Shichuang Beijing 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 Mingyang Industrial Technology Research Institute Shenyang Co ltd, Mingyang Shichuang Beijing Technology Co ltd filed Critical Mingyang Industrial Technology Research Institute Shenyang Co ltd
Priority to CN202310444803.5A priority Critical patent/CN116192937B/zh
Publication of CN116192937A publication Critical patent/CN116192937A/zh
Application granted granted Critical
Publication of CN116192937B publication Critical patent/CN116192937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/255Maintenance or indexing of mapping tables
    • H04L61/2553Binding renewal aspects, e.g. using keep-alive messages
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种Kubernetes集群系统中Service实现方法、系统、介质及设备,其中,所述系统包括VPP管理模块、nat44插件、CRD资源和VPP服务控制器,VPP管理模块和VPP服务控制器均由Kubernetes集群系统中的Master节点运行,nat44插件为VPP自带插件,CRD资源设置在Kubernetes集群系统中;VPP管理模块和VPP服务控制器分别与Kubernetes集群系统通信连接。本发明解决了Kubernetes集群系统中现有的服务实现方法存在的更新时延与可用性问题。

Description

一种Kubernetes集群系统中Service实现方法、系统、介质及 设备
技术领域
本发明涉及计算机技术领域,具体地说是一种Kubernetes集群系统中Service实现方法、系统、介质及设备。
背景技术
在Kubernetes集群系统中,访问应用所对应的容器组(即Pod)的最直接做法是,直接访问Pod中的容器(即Container)。这种做法虽然直观和容易,问题却也是显而易见。当应用对应多个Pod时,如何实现负载均衡,会话如何保持;当Pod因为迁移导致IP地址发生变更后,应该如何处理。
为了解决这些问题,Kubernetes集群系统引入了服务(即Service)。在Kubernetes集群系统中,Service为一组具有相同功能的Pod提供一个统一的访问地址,并且支持负载均衡,可以将请求均衡地分发到各个Pod。
Service的底层实现机制是iptables,基于iptables来实现流量转发和负载均衡。由于iptables自身存在一些缺陷(比如性能问题、扩展问题等),导致Service在使用时也存在一些问题,主要包括以下几个方面。
(1)规则匹配时延问题。每个Service虚拟IP(即VIP)都会对应一条iptables规则链,iptables规则匹配是线性的,规则匹配的时间复杂度是O(N),其中N是iptables规则数量。若Service配置数量较多,则iptables规则数量也较多,导致规则匹配的时延较高,使得网络数据包的转发速度较慢。
(2)规则更新时延问题。iptables规则更新方式是全量更新,非增量更新,即使是增加(或删除)一条规则,也是整体修改全部iptables规则。
(3)可用性问题。在Service发生变更时,iptables规则进行全量更新导致连接断开,使得其他服务不可用。
基于此,在Kubernetes集群系统中,如何解决现有的服务实现方法存在的更新时延与可用性问题,是十分迫切和必要的。
发明内容
为此,本发明所要解决的技术问题在于提供一种Kubernetes集群系统中Service实现方法、系统、介质及设备,解决了Kubernetes集群系统中现有的服务实现方法存在的更新时延与可用性问题。
为解决上述技术问题,本发明提供如下技术方案:
一种Kubernetes集群系统中Service实现方法,在Kubernetes集群系统中设置VPP管理模块、nat44插件、CRD资源和VPP服务控制器,其中,VPP管理模块用于从Kubernetes集群系统所有节点中选择一个节点作为VPP宿主服务器并在VPP宿主服务器上部署VPP且在VPP中启用nat44插件,同时用于为nat44插件配置入接口和出接口且为nat44插件配置地址池;CRD资源用于对VppService进行定义,VppService为基于VPP实现的服务,对VppService进行定义的内容包括服务类型、选择器、虚拟IP、协议类型、服务端口和容器组端口,所述虚拟IP是为nat44插件配置的地址池中的一个IP,所述选择器包括k个键值对,k为大于或等于1的自然数;VPP服务控制器用于监听Kubernetes集群系统Etcd数据库中VppService对象的变化并进行相应处理;Kubernetes集群系统中设有M个Master节点和N个Worker节点,VPP管理模块由Master节点运行,M为大于或等于1的自然数,N为大于或等于0的整数;在VPP服务控制器监听到Etcd数据库中vpp-service-n对象被创建时,n为大于或等于1的自然数,VPP服务控制器的操作为:
S1)获取vpp-service-n对象的选择器;
S2)在vpp-service-n对象所属的命名空间中,根据步骤S1)中选择器的键值对对Pod的labels进行过滤,查找同时具有该键值对的容器组Pod,如果vpp-service-n对象所属的命名空间中不存在具有该键值对的容器组Pod,则结束处理,反之,将符合条件的容器组Pod记为容器组pod-n,并进行如下操作:
S2-1)获取容器组pod-n的管理网络的IP地址,记为ip-n;
S2-2)获取vpp-service-n对象的虚拟IP、协议类型和端口信息,其中,端口信息包括与服务端口和容器组端口相关的信息;
S2-3)查询并获取VPP宿主服务器,然后通过VPP管理模块在VPP宿主服务器上对VPP进行配置并在VPP中启用nat44插件,同时为nat44插件配置入接口和出接口且为nat44插件配置地址池;
S2-4)根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息在VPP中增加一条与IP地址ip-n相对应的nat44静态映射规则,即可实现Kubernetes集群系统中的Service功能。
上述Kubernetes集群系统中Service实现方法,M为奇数。
上述Kubernetes集群系统中Service实现方法,在Kubernetes集群系统中,通过kubectl命令在Etcd数据库中创建和删除vpp-service-n对象。
上述Kubernetes集群系统中Service实现方法,当容器组pod-n的管理网络的IP地址发生改变时,需进行如下操作:
先删除已为pod-n添加的nat44静态映射规则,再重新为pod-n添加一条新的nat44静态映射规则。
上述Kubernetes集群系统中Service实现方法,当VPP服务控制器监听到Etcd数据库中vpp-service-n对象被删除时,则VPP服务控制器进行如下操作:
i)获取vpp-service-n对象的虚拟IP、协议类型和端口信息;
ii)查询并获取VPP宿主服务器,然后在VPP宿主服务器上对VPP进行配置;
iii)根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息在VPP中查找是否存在与根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息相匹配的nat44静态映射规则,如果存在,则删除该nat44静态映射规则。
利用上述Kubernetes集群系统中Service实现方法在Kubernetes集群系统中实现Service功能的系统,包括:
VPP管理模块,用于从Kubernetes集群系统所有节点中选择一个节点作为VPP宿主服务器并在VPP宿主服务器上部署VPP以及对VPP进行配置;
nat44插件,为VPP自带插件,用于Service的实现;用VPP管理模块为nat44插件配置入接口与出接口,并为nat44插件配置地址池;
CRD资源,用于对VppService进行定义的自定义资源的定义资源;VppService为基于VPP实现的服务,对VppService进行定义的内容包括服务类型、选择器、虚拟IP、协议类型、服务端口和容器组端口,所述虚拟IP是为nat44插件配置的地址池中的一个IP;其中,CRD为CustomResourceDefinition的缩写,表示为自定义资源定义;
VPP服务控制器,用于监听Kubernetes集群系统Etcd数据库中VppService对象的变化并进行相应处理;
VPP管理模块和VPP服务控制器均由Kubernetes集群系统中的Master节点运行,CRD资源设置在Kubernetes集群系统中;VPP管理模块和VPP服务控制器分别与Kubernetes集群系统通信连接,VPP管理模块在对VPP进行配置时启用nat44插件。
上述系统, VPP以进程形态或虚拟机形态或容器形态部署在VPP宿主服务器上。
上述系统,Kubernetes集群系统中设有M个Master节点和N个Worker节点,VPP管理模块和VPP服务控制器均由Master节点运行,M为大于或等于1的奇数,N为大于或等于0的整数。
计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法。
计算机设备,包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法。
本发明的技术方案取得了如下有益的技术效果:
本发明中,nat44静态映射规则的增加与删除,属于增量更新,不会整体修改全部静态映射规则。同时,nat44静态映射规则的增加与删除,不会影响已有静态映射规则的流量转发,不存在服务不可用问题。
附图说明
图1为本发明中利用Kubernetes集群系统中Service实现方法在Kubernetes集群系统中实现Service功能的系统的工作原理图;
图2为本发明中在Kubernetes集群系统中实现Service功能的流程图;
图3为可在Kubernetes集群系统中实现Service功能的计算机设备原理图。
具体实施方式
下面结合示例,针对本发明进行进一步说明。
如图1所示,本发明利用Kubernetes集群系统中Service实现方法在Kubernetes集群系统中实现Service功能的系统,包括VPP管理模块、nat44插件、 CRD资源和VPP服务控制器,VPP管理模块和VPP服务控制器均由Kubernetes集群系统中的Master节点运行,CRD资源设置在Kubernetes集群系统中;VPP管理模块和VPP服务控制器分别与Kubernetes集群系统通信连接,VPP管理模块在对VPP进行配置时启用nat44插件。其中,VPP管理模块用于从Kubernetes集群系统所有节点中选择一个节点作为VPP宿主服务器并在VPP宿主服务器上部署VPP以及对VPP进行配置;nat44插件为VPP自带插件,用于Service的实现;用VPP管理模块为nat44插件配置入接口与出接口,并为nat44插件配置地址池,本实施例中,为nat44插件配置的地址池为10.89.10.1-10.89.10.50,掩码长度为24;CRD资源用于对VppService进行定义的自定义资源的定义资源;VppService为基于VPP实现的服务,对VppService进行定义的内容包括服务类型、选择器、虚拟IP、协议类型、服务端口和容器组端口,所述虚拟IP是为nat44插件配置的地址池中的一个IP,所述选择器包括k个键值对,k为大于或等于1的自然数; VPP服务控制器用于监听Kubernetes集群系统Etcd数据库中VppService对象的变化并进行相应处理。
本实施例中,VPP可以部署在通用X86服务器上,它可以以进程形态直接部署在宿主服务器上,也可以以虚拟机形态部署在宿主服务器上,还可以以容器形态部署在宿主服务器上。
Kubernetes集群系统总共包括6个节点,其中3个是Master节点,依次编号为master01、master02、master03,另外3个是Worker节点,依次编号为worker01、worker02、worker03。本实施例中,VPP管理模块和VPP服务控制器均由Master节点运行。
如图2所示,本实施例中,当VPP服务控制器监听到Etcd数据库中vpp-service-n对象被创建时,n为大于或等于1的自然数,通过所述系统在Kubernetes集群系统中进行Service实现的操作,所述系统进行如下步骤的操作:
S1)获取vpp-service-n对象的选择器,例如,所述选择器包括一个键值对,该键值对的键为cncp-component,该键值对的值为target-pod;
S2)在vpp-service-n对象所属的命名空间中,根据步骤S1)中选择器的键值对对Pod的labels进行过滤,查找同时具有该键值对的容器组Pod,如果vpp-service-n对象所属的命名空间中不存在具有该键值对的容器组Pod,则结束处理,反之,将符合条件的容器组Pod记为容器组pod-n,并进行如下操作:
S2-1)获取容器组pod-n的管理网络的IP地址,记为ip-n;
S2-2)获取vpp-service-n对象的虚拟IP、协议类型和端口信息,其中,端口信息包括与服务端口和容器组端口相关的信息;
S2-3)查询并获取VPP宿主服务器,然后通过VPP管理模块在VPP宿主服务器上对VPP进行配置并在VPP中启用nat44插件,同时为nat44插件配置入接口和出接口且为nat44插件配置地址池;
S2-4)根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息在VPP中增加一条与IP地址ip-n相对应的nat44静态映射规则,即可实现Kubernetes集群系统中的Service功能。
在步骤S2-3)中,通过VPP管理模块完成VPP的配置操作,以此来确保VPP与Kubernetes集群系统Pod的管理网络可以互相通信。在Kubernetes集群系统中,Pod的管理网络有且只有一个。Pod管理网络的搭建,可以由多种CNI组件来实现,包括但不限于Calico、Flannel等。
在Kubernetes集群系统中,通过kubectl命令在Etcd数据库中创建和删除vpp-service-n对象。在vpp-service-n对象被创建之后,它将被存入Etcd数据库。在vpp-service-n对象被删除之后,它也将从Etcd数据库中删除。
以下示例描述了一个VppService对象,即vpp-service-01对象。其中,服务类型为VPP;选择器包含一个键值对,键为cncp-component,值为target-pod,虚IP为10.89.10.10/24,协议类型为tcp;服务端口为80;容器组端口为8080,具体如下:
kind: VppService
apiVersion: mingyangtech.com.cn/v1
metadata:
name: vpp-service-01
namespace: cncp-system
spec:
type: VPP
selector:
cncp-component: target-pod
vip: 10.89.10.10/24
protocol: tcp
port: 80
targetPort: 8080
而当容器组pod-n的管理网络的IP地址发生改变时,此时在VPP中为pod-n增加的nat44静态映射规则不再有效,为了保证本系统可以持续正常工作,需进行如下操作:
先删除已为pod-n添加的nat44静态映射规则,再重新为pod-n添加一条新的nat44静态映射规则。
当VPP服务控制器监听到Etcd数据库中vpp-service-n对象被删除时,则VPP服务控制器进行如下操作:
i)获取vpp-service-n对象的虚拟IP、协议类型和端口信息;
ii)查询并获取VPP宿主服务器,然后在VPP宿主服务器上对VPP进行配置;
iii)根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息在VPP中查找是否存在与根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息相匹配的nat44静态映射规则,如果存在,则删除该nat44静态映射规则。
本发明中,nat44静态映射规则的增加与删除,属于增量更新,不会整体修改全部静态映射规则。同时,nat44静态映射规则的增加与删除,不会影响已有静态映射规则的流量转发,不存在服务不可用问题。
基于上述Kubernetes集群系统中Service实现方法,相应的,本实例中还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序被处理器执行时实现如下步骤:当VPP服务控制器监听到Etcd数据库中vpp-service-n对象被创建时,获取vpp-service-n对象的选择器,并在vpp-service-n对象所属的命名空间中根据选择器的键值对对Pod的labels进行过滤,查找同时具有该键值对的容器组Pod,如果vpp-service-n对象所属的命名空间中不存在具有该键值对的容器组Pod,则结束处理,反之,将符合条件的容器组Pod记为容器组pod-n,然后获取容器组pod-n的管理网络的IP地址,再获取vpp-service-n对象的虚拟IP、协议类型和端口信息,然后查询并获取VPP宿主服务器,并在VPP宿主服务器上对VPP进行配置,根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息在VPP中增加一条与IP地址ip-n相对应的nat44静态映射规则,即可实现Kubernetes集群系统中的Service功能。
如图3所示,基于上述Kubernetes集群系统中Service实现方法以及计算机可读存储介质,本实施例中,还提供了一种计算机设备,其包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,其中可读存储介质与处理器均设置在总线上,处理器执行计算机程序时实现如下步骤:VPP服务控制器监听到Etcd数据库中vpp-service-n对象被创建时,获取vpp-service-n对象的选择器,并在vpp-service-n对象所属的命名空间中根据选择器的键值对对Pod的labels进行过滤,查找同时具有该键值对的容器组Pod,如果vpp-service-n对象所属的命名空间中不存在具有该键值对的容器组Pod,则结束处理,反之,将符合条件的容器组Pod记为容器组pod-n,然后获取容器组pod-n的管理网络的IP地址,再获取vpp-service-n对象的虚拟IP、协议类型和端口信息,然后查询并获取VPP宿主服务器,并在VPP宿主服务器上对VPP进行配置,根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息在VPP中增加一条与IP地址ip-n相对应的nat44静态映射规则,即可实现Kubernetes集群系统中的Service功能。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本专利申请权利要求的保护范围之中。

Claims (10)

1.一种Kubernetes集群系统中Service实现方法,其特征在于,在Kubernetes集群系统中设置VPP管理模块、nat44插件、CRD资源和VPP服务控制器,其中,VPP管理模块用于从Kubernetes集群系统所有节点中选择一个节点作为VPP宿主服务器并在VPP宿主服务器上部署VPP且在VPP中启用nat44插件,同时用于为nat44插件配置入接口和出接口且为nat44插件配置地址池;CRD资源用于对VppService进行定义,VppService为基于VPP实现的服务,对VppService进行定义的内容包括服务类型、选择器、虚拟IP、协议类型、服务端口和容器组端口,所述虚拟IP是为nat44插件配置的地址池中的一个IP,所述选择器包括k个键值对,k为大于或等于1的自然数;VPP服务控制器用于监听Kubernetes集群系统Etcd数据库中VppService对象的变化并进行相应处理;Kubernetes集群系统中设有M个Master节点和N个Worker节点,VPP管理模块由Master节点运行,M为大于或等于1的自然数,N为大于或等于0的整数;在VPP服务控制器监听到Etcd数据库中vpp-service-n对象被创建时,n为大于或等于1的自然数,VPP服务控制器的操作为:
S1)获取vpp-service-n对象的选择器;
S2)在vpp-service-n对象所属的命名空间中,根据步骤S1)中选择器的键值对对Pod的labels进行过滤,查找同时具有该键值对的容器组Pod,如果vpp-service-n对象所属的命名空间中不存在具有该键值对的容器组Pod,则结束处理,反之,将符合条件的容器组Pod记为容器组pod-n,并进行如下操作:
S2-1)获取容器组pod-n的管理网络的IP地址,记为ip-n;
S2-2)获取vpp-service-n对象的虚拟IP、协议类型和端口信息,其中,端口信息包括与服务端口和容器组端口相关的信息;
S2-3)查询并获取VPP宿主服务器,然后通过VPP管理模块在VPP宿主服务器上对VPP进行配置并在VPP中启用nat44插件,同时为nat44插件配置入接口和出接口且为nat44插件配置地址池;
S2-4)根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息在VPP中增加一条与IP地址ip-n相对应的nat44静态映射规则,即可实现Kubernetes集群系统中的Service功能。
2.根据权利要求1所述的Kubernetes集群系统中Service实现方法,其特征在于,M为奇数。
3.根据权利要求1所述的Kubernetes集群系统中Service实现方法,其特征在于,在Kubernetes集群系统中,通过kubectl命令在Etcd数据库中创建和删除vpp-service-n对象。
4.根据权利要求1所述的Kubernetes集群系统中Service实现方法,其特征在于,当容器组pod-n的管理网络的IP地址发生改变时,需进行如下操作:
先删除已为pod-n添加的nat44静态映射规则,再重新为pod-n添加一条新的nat44静态映射规则。
5.根据权利要求1~4任一所述的Kubernetes集群系统中Service实现方法,其特征在于,当VPP服务控制器监听到Etcd数据库中vpp-service-n对象被删除时,则VPP服务控制器进行如下操作:
i)获取vpp-service-n对象的虚拟IP、协议类型和端口信息;
ii)查询并获取VPP宿主服务器,然后在VPP宿主服务器上对VPP进行配置;
iii)根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息在VPP中查找是否存在与根据vpp-service-n对象中定义的虚拟IP、协议类型以及端口信息相匹配的nat44静态映射规则,如果存在,则删除该nat44静态映射规则。
6.利用权利要求1~5任一所述的Kubernetes集群系统中Service实现方法在Kubernetes集群系统中实现Service功能的系统,其特征在于,包括:
VPP管理模块,用于从Kubernetes集群系统所有节点中选择一个节点作为VPP宿主服务器并在VPP宿主服务器上部署VPP以及对VPP进行配置;
nat44插件,为VPP自带插件,用于Service的实现;用VPP管理模块为nat44插件配置入接口与出接口,并为nat44插件配置地址池;
CRD资源,用于对VppService进行定义的自定义资源的定义资源;VppService为基于VPP实现的服务,对VppService进行定义的内容包括服务类型、选择器、虚拟IP、协议类型、服务端口和容器组端口,所述虚拟IP是为nat44插件配置的地址池中的一个IP;
VPP服务控制器,用于监听Kubernetes集群系统Etcd数据库中VppService对象的变化并进行相应处理;
VPP管理模块和VPP服务控制器均由Kubernetes集群系统中的Master节点运行,CRD资源设置在Kubernetes集群系统中;VPP管理模块和VPP服务控制器分别与Kubernetes集群系统通信连接,VPP管理模块在对VPP进行配置时启用nat44插件。
7.根据权利要求6所述的系统,其特征在于,VPP以进程形态或虚拟机形态或容器形态部署在VPP宿主服务器上。
8.根据权利要求6所述的系统,其特征在于,Kubernetes集群系统中设有M个Master节点和N个Worker节点,VPP管理模块和VPP服务控制器均由Master节点运行,M为大于或等于1的奇数,N为大于或等于0的整数。
9.计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~5中任一所述的方法。
10.计算机设备,包括可读存储介质、处理器以及存储在可读存储介质上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~5中任一所述的方法。
CN202310444803.5A 2023-04-24 2023-04-24 一种Kubernetes集群系统中Service实现方法、系统、介质及设备 Active CN116192937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310444803.5A CN116192937B (zh) 2023-04-24 2023-04-24 一种Kubernetes集群系统中Service实现方法、系统、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310444803.5A CN116192937B (zh) 2023-04-24 2023-04-24 一种Kubernetes集群系统中Service实现方法、系统、介质及设备

Publications (2)

Publication Number Publication Date
CN116192937A CN116192937A (zh) 2023-05-30
CN116192937B true CN116192937B (zh) 2023-07-11

Family

ID=86452412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310444803.5A Active CN116192937B (zh) 2023-04-24 2023-04-24 一种Kubernetes集群系统中Service实现方法、系统、介质及设备

Country Status (1)

Country Link
CN (1) CN116192937B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116996379B (zh) * 2023-08-11 2024-06-07 中科驭数(北京)科技有限公司 一种基于OVN-Kubernetes的云原生网络服务质量配置方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109698796A (zh) * 2019-03-07 2019-04-30 江苏省人民医院 一种高性能网络负载均衡系统及其实现方法
CN109743261A (zh) * 2019-01-07 2019-05-10 中国人民解放军国防科技大学 一种基于sdn的容器网络资源调度方法
CN114172802A (zh) * 2021-12-01 2022-03-11 百果园技术(新加坡)有限公司 容器网络配置方法、装置、计算节点、主节点及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11122431B2 (en) * 2019-10-17 2021-09-14 Cisco Technology, Inc. Integrating CBRS-enabled devices and intent-based networking
US11792230B2 (en) * 2021-09-13 2023-10-17 Cisco Technology, Inc. Resolving access policies between intent-based network architectures and cloud native architectures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743261A (zh) * 2019-01-07 2019-05-10 中国人民解放军国防科技大学 一种基于sdn的容器网络资源调度方法
CN109698796A (zh) * 2019-03-07 2019-04-30 江苏省人民医院 一种高性能网络负载均衡系统及其实现方法
CN114172802A (zh) * 2021-12-01 2022-03-11 百果园技术(新加坡)有限公司 容器网络配置方法、装置、计算节点、主节点及存储介质

Also Published As

Publication number Publication date
CN116192937A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
Mayer et al. Fogstore: Toward a distributed data store for fog computing
CN111796905B (zh) 一种kubernetes容器云平台VLAN网络的实现方法及系统
JP4509916B2 (ja) Snmp基盤のネットワーク管理装置および方法
CN116192937B (zh) 一种Kubernetes集群系统中Service实现方法、系统、介质及设备
WO2019233061A1 (zh) 一种三层交换机的路由资源控制方法及系统
US10585943B2 (en) Network-wide, location-independent object identifiers for high-performance distributed graph databases
CN114650223B (zh) 一种Kubernetes集群的网络配置方法、装置及电子设备
CN108829422A (zh) 一种动态部署方法及装置
CN114124740A (zh) 一种vnf实例化的方法和装置
US8886913B2 (en) Apparatus and method for identifier management
CN116016028B (zh) 基于IPVlan为Pod创建多个网络接口的方法、系统、介质及设备
JP2516703B2 (ja) 論理自動生成方法および論理自動生成システム
CN117194039A (zh) K8s驱动集成系统、请求处理方法、设备及存储介质
CN104796465B (zh) 云平台业务处理方法和系统
US11816119B2 (en) System and methods for querying and updating databases
CN101115017A (zh) 一种删除mac地址的方法及装置
CN100423492C (zh) 一种管理信息库的处理方法
CN116016448A (zh) 一种服务网络访问方法、装置、设备及存储介质
CN109542841A (zh) 集群中创建数据快照的方法及终端设备
US20050240609A1 (en) Method and apparatus for setting storage groups
JP5597872B2 (ja) 分散情報処理システム、分散情報処理方法及びデータ転送装置
CN104994137B (zh) 一种网络透明代理的方法
CN110019525A (zh) 一种数据库扩容的方法和装置
EP4091066B1 (en) Systems and methods for performing updated query requests in a system of multiple database engine
KR102648743B1 (ko) 인-네트워크 관리 장치, 네트워크 스위치, 인-네트워크 데이터 집약 시스템 및 방법

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230804

Address after: Room 701, No. 88 Quanyunsan Road, Hunnan District, Shenyang City, Liaoning Province, 110167

Patentee after: Mingyang Industrial Technology Research Institute (Shenyang) Co.,Ltd.

Address before: Room 903, 9th Floor, Building 2, No. 1 Lanxiangou, Haidian District, Beijing, 100089

Patentee before: Mingyang Shichuang (Beijing) Technology Co.,Ltd.

Patentee before: Mingyang Industrial Technology Research Institute (Shenyang) Co.,Ltd.