CN116886523A - 一种应用于容器编排系统k8s的服务处理方法、系统及装置 - Google Patents

一种应用于容器编排系统k8s的服务处理方法、系统及装置 Download PDF

Info

Publication number
CN116886523A
CN116886523A CN202310573839.3A CN202310573839A CN116886523A CN 116886523 A CN116886523 A CN 116886523A CN 202310573839 A CN202310573839 A CN 202310573839A CN 116886523 A CN116886523 A CN 116886523A
Authority
CN
China
Prior art keywords
service
pod
matched
port
target
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
CN202310573839.3A
Other languages
English (en)
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.)
Hangzhou Ezviz Software Co Ltd
Original Assignee
Hangzhou Ezviz Software 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 Hangzhou Ezviz Software Co Ltd filed Critical Hangzhou Ezviz Software Co Ltd
Priority to CN202310573839.3A priority Critical patent/CN116886523A/zh
Publication of CN116886523A publication Critical patent/CN116886523A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供一种应用于容器编排系统k8s的服务处理方法、系统及装置。在本实施例中,通过获得服务配置事件后,基于服务配置事件关联的服务,对节点本地网卡的服务端口进行槽位划分,得到各服务对应的服务端口槽位,进而在创建好各个pod后,依据已创建的各个pod对应的服务端口槽位为各个pod分配服务端口槽位,实现了同一个公网IP下绑定多个pod,最大程度的利用了公网IP资源;在创建好各个pod后,依据已创建的各个pod对应的服务端口槽位为各个pod分配服务端口槽位,以在通过分配的服务端口槽位接收到的业务数据请求后将业务数据请求分配到对应的pod,而非通过k8s统一接口接收业务请求再负载均衡转发到pod的方式,避免了接口单点性能问题。

Description

一种应用于容器编排系统k8s的服务处理方法、系统及装置
技术领域
本申请涉及云计算技术领域,尤其涉及一种应用于容器编排系统k8s的服务处理方法、系统及装置。
背景技术
Kubernetes(k8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用,包含多个节点Node,每个节点Node至少有一个服务实例pod,将该Pod对外暴露出去,以便于客户端发现该pod,进而该Pod可以处理业务请求。
目前,对外暴露服务的方法为先创建Pod,IP管理器为该pod添加从电信运营商已购买的公网IP,并记录公网IP与租户的申请关系、公网IP与k8s节点的绑定关系,服务暴露控制器选择需要绑定的公网IP地址,服务暴露控制器查询Pod所在节点并远程登录,绑定公网IP到网卡接口上,这样,Pod IP和公网IP是一一对应关系,因此一个公网IP仅仅只能用于一个Pod,造成公网IP资源的浪费。
发明内容
有鉴于此,本申请实施例提供一种应用于容器编排系统k8s的服务处理方法、系统及装置,以通过对公网网卡端口进行槽位划分,在创建好后pod后分配对应的槽位,实现一个公网IP资源对应多个Pod,减少公网IP资源的浪费。
根据本申请实施例的第一方面,提供一种应用于容器编排系统k8s的服务处理方法,所述k8s包括接口服务器Api Server和节点集群,所述方法应用于所述节点集群中任一节点,所述方法包括:
通过监听所述Api Server获得服务配置事件,基于所述服务配置事件关联的服务,从本地网卡提供的所有服务端口中确定与所述服务匹配的服务端口槽位;不同服务匹配不同的服务端口槽位,每个服务端口槽位关联至少一个端口;
通过监听所述Api Server获得服务实例pod创建事件,所述pod创建事件用于指示已在本节点成功创建所述服务匹配的pod,将所述服务匹配的服务端口槽位分配给所述服务匹配的pod;
当接收到业务数据请求时,依据所述业务数据请求携带的目标端口标识确定对应的目标服务端口槽位,基于所述目标服务端口槽位将所述业务数据请求转发至所述目标服务端口槽位匹配的目标pod进行处理。
根据本申请实施例的第二方面,提供一种应用于容器编排系统k8s的服务处理系统,包括:接口服务器Api Server和节点集群,
所述接口服务器Api Server,用于接收客户端发送的服务配置事件以及服务实例pod创建事件;
所述节点集群的任一节点,用于执行如第一方面所述的方法。
根据本申请实施例的第三方面,提供一种应用于容器编排系统k8s的服务处理装置,所述k8s包括接口服务器Api Server和节点集群,所述方法应用于所述节点集群中任一节点,所述装置包括:
服务端口槽位分配模块,用于通过监听所述Api Server获得服务配置事件,基于所述服务配置事件关联的服务,从本地网卡提供的所有服务端口中确定与所述服务匹配的服务端口槽位;不同服务匹配不同的服务端口槽位,每个服务端口槽位关联至少一个端口;
pod创建模块,用于通过监听所述Api Server获得服务实例pod创建事件,所述pod创建事件用于指示已在本节点成功创建所述服务匹配的pod,将所述服务匹配的服务端口槽位分配给所述服务匹配的pod;
业务请求转发模块,用于当接收到业务数据请求时,依据所述业务数据请求携带的目标端口标识确定对应的目标服务端口槽位,基于所述目标服务端口槽位将所述业务数据请求转发至所述目标服务端口槽位匹配的目标pod进行处理。
根据本申请实施例的第四方面,提供一种电子设备,电子设备包括:处理器和存储器;
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如第一方面所述的方法。
本申请实施例提供的技术方案可以包括以下有益效果:
本申请实施例中,通过获得服务配置事件后,基于服务配置事件关联的服务,对节点本地网卡的服务端口进行槽位划分,得到各服务对应的服务端口槽位,进而在创建好各个pod后,依据已创建的各个pod对应的服务端口槽位为各个pod分配服务端口槽位,实现了同一个公网IP下绑定多个pod,最大程度的利用了公网IP资源;
进一步地,在创建好各个pod后,依据已创建的各个pod对应的服务端口槽位为各个pod分配服务端口槽位,以在通过分配的服务端口槽位接收到的业务数据请求后将业务数据请求分配到对应的pod,而非通过k8s统一接口接收业务请求再负载均衡转发到pod的方式,避免了接口单点性能问题。
附图说明
图1是本申请实施例提供的k8s组网示例图。
图2是本申请实施例提供的一种应用于容器编排系统k8s的服务处理方法的流程图。
图3是本申请实施例提供的服务端口槽位划分时序图。
图4是本申请实施例提供的pod对外暴露服务时序图。
图5是本申请实施例提供的服务发现时序图。
图6是本申请实施例提供的pod解除暴露服务时序图。
图7是本申请实施例提供的一种应用于容器编排系统k8s的服务处理装置的框图。
图8是本申请实施例提供的一种应用于容器编排系统k8s的服务处理系统的框图。
图9本申请实施例提供的电子设备的示例图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本说明书实施例进行详细说明。
如图1所示,为本申请实施例示出的k8s组网示例图,包括:节点集群、节接口服务器Api Serve和注册中心。其中,节点集群包括多个节点Node,每个节点Node包括至少一个服务实例pod以及该节点下的端口控制器。
在本实施例中,上述服务实例pod是在k8s中创建和管理的、最小的可部署的计算单元,通常不直接创建,可通过k8s的pod创建组件创建并管理。
在本实施例中,上述端口控制器,由k8s的daemonset控制器部署,确保每个节点Node上都部署有一个端口控制器,用于实现对对应节点的网卡的端口划分,并通过iptables命令控制将进入节点Node的流量转发到对应的服务实例Pod中。
注册中心,用于集中管理服务实例pod,实现服务实例pod的注册以及发现。
如图1所示,k8s组网中还包括:k8s的接口服务器Api Server,该Api Server用于为k8s集群资源操作提供唯一入口,并提供认证、授权、访问控制、API注册和发现机制,当接收发送到k8s节点集群的数据,进行相应地处理。
至此,完成图1所述组网的描述。
基于图1所示的组网,下面通过图2对本申请实施例提供的方法进行描述:
如图2所示,图2是本申请实施例提供的应用于容器编排系统k8s的服务处理方法,该方法应用于k8s节点集群中任一节点,该方法包括:
S210:通过监听Api Server获得服务配置事件,基于服务配置事件关联的服务,从本地网卡提供的所有服务端口中确定与服务匹配的服务端口槽位;不同服务匹配不同的服务端口槽位,每个服务端口槽位关联至少一个端口。
示例性地,结合图3所示时序图进行描述,在本实施例中,如图3所示,在执行本步骤S210之前,k8s客户端向Api Server发送服务配置创建请求,Api Server接收到服务配置创建请求后,解析该服务配置创建请求后生成服务配置事件。
基于上述描述,各个节点的端口控制器通过监听Api Server获得该服务配置事件,这里,服务配置事件的事件内容至少可以包括:至少一个服务的服务标识信息、服务占用的服务端口数量等,例如,微博服务:30个服务端口、微信服务:20个服务端口,本申请实施例并不具体限定。
在本实施例中,节点的端口控制器通过监听Api Server获得服务配置事件后,基于服务配置事件关联的各服务,从本地网卡提供的所有服务端口中确定与服务匹配的服务端口槽位,即数量满足服务要求的服务端口数量的服务端口槽位。这里,每个服务端口槽位包括至少一个服务端口,不同服务匹配不同的服务端口槽位,并更新槽位信息(即图3中的服务端口槽位状态ConfigMap)。
S220:通过监听Api Server获得服务实例pod创建事件,pod创建事件用于指示已在本节点成功创建服务匹配的pod,将服务匹配的服务端口槽位分配给服务匹配的pod。
示例性地,结合图4所示时序图进行描述,在本实施例中,在执行本步骤S220之前,k8s客户端向k8s的接口服务器Api Server发送pod创建请求,Api Server接收到pod创建请求后,k8s的其他组件,例如kube-scheduler监听到pod创建请求后将该pod创建请求对应的pod分配到相应的节点Node,这里,将该pod创建请求对应的pod分配到相应的节点Node指的是确定该pod与节点Node的匹配关系,在确定出该Pod分配到对应的节点后,调用k8s中的pod创建组件在分配的节点中创建pod,创建完成后,产生pod创建事件。
在本实施例中,为pod创建请求对应的pod分配节点Node有很多方法,例如,随机分配,再例如,根据各个Node中目前包含的pod数量进行分配(例如,将该pod分配给包括pod数量最少的Node)等,本申请实施例并不具体限定。
基于上述描述,被分配的节点Node的端口控制器监听到pod创建事件,这里,pod创建事件的事件内容包含pod的配置信息,这里,配置信息至少可以包括:服务的标识信息、服务的版本、服务占用的内存等等,本申请实施例并不具体限定。
例如,当pod创建事件为已创建微博服务匹配的pod时,该事件内容至少可以包括:微博服务的标识信息、微博服务的版本、微博服务占用的内存等等,本申请实施例并不具体限定。
示例性地,在本实施例中,匹配规则是在服务配置时生成的,这里,匹配规则例如可以为:服务—占用端口槽位,本申请实施例并不具体限定。
在本实施例中,可以根据pod创建事件中的服务的标识信息为关键字,与匹配规则进行匹配,得到匹配的服务端口槽位。
S230:当接收到业务数据请求时,依据业务数据请求携带的目标端口标识确定对应的目标服务端口槽位,基于目标服务端口槽位将业务数据请求转发至目标服务端口槽位匹配的目标pod进行处理。
示例性地,在本实施例中,当客户端向节点请求数据时,可以向节点发送业务数据请求,该业务数据请求的目的IP为对应的节点的公网IP,目的端口为该节点中与业务数据请求对应的服务匹配的目标pod被分配的服务端口槽位。
在本实施例中,结合图5所示时序图进行描述,当节点接收到业务数据请求时,依据业务数据请求携带的目标端口标识确定对应的目标服务端口槽位,基于目标服务端口槽位将业务数据请求转发至目标服务端口槽位匹配的目标pod进行处理。
至此,完成图2所示流程。
通过图2流程可以看出,通过获得服务配置事件后,基于服务配置事件关联的服务,对节点本地网卡的服务端口进行槽位划分,得到各服务对应的服务端口槽位,进而在创建好各个pod后,依据已创建的各个pod对应的服务端口槽位为各个pod分配服务端口槽位,实现了同一个公网IP下绑定多个pod,最大程度的利用了公网IP资源;
进一步地,在创建好各个pod后,依据已创建的各个pod对应的服务端口槽位为各个pod分配服务端口槽位,以在通过分配的服务端口槽位接收到的业务数据请求后将业务数据请求分配到对应的pod,而非通过k8s统一接口接收业务请求再负载均衡转发到pod的方式,避免了接口单点性能问题。
作为本申请实施例一个可选实施方式,在将服务匹配的服务端口槽位分配给服务匹配的pod之后,该应用于容器编排系统k8s的服务处理方法进一步包括:
在本节点添加服务匹配的路由规则,路由规则用于指示与服务端口槽位匹配的服务数据转发至服务匹配的pod。
示例性地,在本实施例中,还结合图4进行描述,在本节点添加服务匹配的路由规则有很多方法,例如,通过iptables命令在本节点添加与该服务匹配的路由规则,这里,路由规则例如可以为:服务端口槽位与pod的对应关系,例如,当接收到A端口来的业务数据请求时,将该业务数据请求转发至podA。
在本实施例中,iptables是运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的处理和转发。
在本实施例中,节点的端口控制器在节点的内核添加好路由规则后,节点内核会向节点的端口控制器反馈添加成功的信息。
基于上述描述,上述步骤S230中的基于目标服务端口槽位将业务数据请求转发至目标服务端口槽位匹配的目标pod进行处理,包括:
首先,基于目标服务端口槽位,确定与目标服务端口槽位匹配的目标路由规则;
其次,基于目标路由规则,将业务数据请求转发至目标服务端口槽位匹配的目标pod进行处理。
示例性地,在本实施例中,当接收到业务数据请求时,依据业务数据请求携带的目标端口标识确定对应的目标服务端口槽位,基于确定出的目标服务端口槽位,在节点内核确定与目标服务端口槽位匹配的目标路由规则,基于目标路由规则,将业务数据请求转发至目标服务端口槽位匹配的目标pod进行处理。
作为本申请实施例一个可选实施方式,在将服务匹配的服务端口槽位分配给服务匹配的pod之后,该应用于容器编排系统k8s的服务处理方法进一步包括:
将服务匹配的服务端口槽位的状态设置为占用状态。
示例性地,在本实施例中,还结合图4所示时序图进行描述,将服务匹配的服务端口槽位分配给服务匹配的pod后,将服务匹配的服务端口槽位的状态设置为占用状态,即更新服务端口槽位状态ConfigMap。
该应用于容器编排系统k8s的服务处理方法进一步包括:
通过监听Api Server获得pod删除事件,基于pod删除事件确定待删除pod,若待删除pod为本节点内已被创建的pod,则删除该pod,并将该被删除的pod匹配的服务端口槽位的状态设置为空闲状态。
示例性地,在本实施例中,结合图6进行描述,在执行本步骤之前,k8s客户端向ApiServer发送pod删除请求,Api Server接收到该pod删除请求后,解析该pod删除请求,生成pod删除事件,这里,pod删除事件的事件内容至少包括:服务的标识信息、服务的版本信息等,本申请实施例并不具体限定。
基于上述描述,各个节点的端口控制器通过监听Api Server获得pod删除事件后,解析该pod删除事件,根据pod删除事件中的事件内容确定待删除pod,然后判断该待删除pod是否属于本端口控制器的受控Pod(即待删除pod是否为本节点内已被创建的pod),若是,则删除该pod,并将该被删除的pod匹配的服务端口槽位的状态设置为空闲状态;若不是,不作处理。
作为本申请实施例一个可选实施方式,在将服务匹配的服务端口槽位分配给服务匹配的pod之后,该应用于容器编排系统k8s的服务处理方法进一步包括:
通过Api Server,将pod对应的服务信息注册至k8s中的注册中心。
示例性地,在本实施例中,服务信息至少包括:服务、服务匹配的服务端口槽位、该服务端口槽位关联的端口的标识、pod标识等,本申请实施例并不具体限定。
示例性地,在本实施例中,还结合图4所示时序图进行描述,在将服务匹配的服务端口槽位分配给服务匹配的pod之后,将pod对应的服务信息更新到Api Server,以使得ApiServer可以实现对各个pod的统一管理。
在本实施例中,Api Server接收到pod对应的服务信息注册到k8s中的注册中心,以便于在客户端在发送业务数据请求时从注册中心获取各个pod的信息。
基于上述描述,结合图5所示时序图,客户端在发送业务数据请求之前,先向注册中心发送服务发现请求,该服务发现请求中至少携带有服务的标识信息,注册接收到给服务发现请求后,将与该服务发现请求中至少携带有服务的标识匹配的服务对应的服务信息反馈给客户端,这里,服务对应的服务信息至少包括:服务匹配的pod所属的节点的公网IP,服务匹配的pod被配置的服务端口槽位等,本申请实施例并不具体限定。
客户端接收到各服务对应的服务信息后,选择一个服务信息中的服务端口槽位,将该服务端口槽位中的端口作为业务数据请求携带的目标端口。
作为本申请实施例一个可选实施方式,该应用于容器编排系统k8s的服务处理方法进一步包括:
当删除pod时,通过Api Server将pod删除消息通知给注册中心,以由注册中心删除已注册的包含该被删除pod的服务信息。
示例性地,在本实施例中,还结合图6所示时序图进行描述,当删除pod时,将pod删除信息同步至Api Server,以由Api Server将pod删除消息通知给注册中心,以由注册中心删除已注册的包含该被删除pod的服务信息。
作为本申请一个实施例,如图6所示,在删除pod时,通过iptables命令在pod所处的节点中删除该pod对应的路由规则,解除节点路由转发到Pod中。
与前述方法的实施例相对应,本说明书还提供了装置、系统及其所应用的终端的实施例。
如图7所示,图7是本申请实施例提供的应用于容器编排系统k8s的服务处理装置的示例图,k8s包括接口服务器Api Server和节点集群,该装置应用于节点集群中任一节点,该装置包括:
服务端口槽位分配模块,用于通过监听Api Server获得服务配置事件,基于服务配置事件关联的服务,从本地网卡提供的所有服务端口中确定与服务匹配的服务端口槽位;不同服务匹配不同的服务端口槽位,每个服务端口槽位关联至少一个端口;
pod创建模块,用于通过监听Api Server获得服务实例pod创建事件,pod创建事件用于指示已在本节点成功创建服务匹配的pod,将服务匹配的服务端口槽位分配给服务匹配的pod;
业务请求转发模块,用于当接收到业务数据请求时,依据业务数据请求携带的目标端口标识确定对应的目标服务端口槽位,基于目标服务端口槽位将业务数据请求转发至目标服务端口槽位匹配的目标pod进行处理。
作为本申请实施例一个可选实施方式,该应用于容器编排系统k8s的服务处理装置进一步包括:
路由规则添加模块,用于在本节点添加服务匹配的路由规则,路由规则用于指示与服务端口槽位匹配的服务数据转发至服务匹配的pod;
业务请求转发模块具体用于:
基于目标服务端口槽位,确定与目标服务端口槽位匹配的目标路由规则;
基于目标路由规则,将业务数据请求转发至目标服务端口槽位匹配的目标pod进行处理。
作为本申请实施例一个可选实施方式,该应用于容器编排系统k8s的服务处理装置进一步包括:
第一状态调整模块,用于将服务匹配的服务端口槽位的状态设置为占用状态;
第二状态调整模块,用于通过监听Api Server获得pod删除事件,基于pod删除事件确定待删除pod,若待删除pod为本节点内已被创建的pod,则删除该pod,并将该被删除的pod匹配的服务端口槽位的状态设置为空闲状态。
作为本申请实施例一个可选实施方式,该应用于容器编排系统k8s的服务处理装置进一步包括:
注册模块,用于通过Api Server,将pod对应的服务信息注册至k8s中的注册中心;服务信息至少包括:服务、服务匹配的服务端口槽位、该服务端口槽位关联的端口的标识、pod标识;
业务数据请求携带的目标端口标识是客户端在向注册中心发送服务发现请求时从注册中心提供的服务对应的服务信息中选择的。
作为本申请实施例一个可选实施方式,该应用于容器编排系统k8s的服务处理装置进一步包括:
删除模块,用于当删除pod时,通过Api Server将pod删除消息通知给注册中心,以由注册中心删除已注册的包含该被删除pod的服务信息。
至此,完成图7所示框图的描述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
如图8所示,图8是本申请实施例提供的应用于容器编排系统k8s的服务处理系统的示例图,该系统包括:接口服务器Api Server和节点集群(图8中的节点1、……节点n),
接口服务器Api Server,用于接收客户端发送的服务配置事件以及服务实例pod创建事件;
节点集群的任一节点,用于执行如上述方法实施例的方法。
作为本申请实施例一个可选实施方式,该应用于容器编排系统k8s的服务处理系统还包括:
注册中心,用于接收节点发送的服务对应的服务信息,服务信息至少包括:服务、服务匹配的服务端口槽位、该服务端口槽位关联的端口的标识、服务匹配的pod;
在接收到客户端发送的服务发现请求时,向客户端提供服务对应的服务信息;
在接收到Api Server发送的pod删除消息时,删除已注册的包含该被删除pod的服务信息。
至此,完成图8所示框图的描述。
具体实施过程参见上面方法实施例的描述,这里不再赘述。
对应地,本申请实施例还提供了图7所示装置的硬件结构图,具体如图9所示,该电子设备可以为上述实施方法的设备。如图9所示,该硬件结构包括:处理器和存储器。
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如上所示的所对应的应用于容器编排系统k8s的服务处理方法实施例。
作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
至此,完成图9所示电子设备的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (10)

1.一种应用于容器编排系统k8s的服务处理方法,其特征在于,所述k8s包括接口服务器Api Server和节点集群,所述方法应用于所述节点集群中任一节点,所述方法包括:
通过监听所述Api Server获得服务配置事件,基于所述服务配置事件关联的服务,从本地网卡提供的所有服务端口中确定与所述服务匹配的服务端口槽位;不同服务匹配不同的服务端口槽位,每个服务端口槽位关联至少一个端口;
通过监听所述Api Server获得服务实例pod创建事件,所述pod创建事件用于指示已在本节点成功创建所述服务匹配的pod,将所述服务匹配的服务端口槽位分配给所述服务匹配的pod;
当接收到业务数据请求时,依据所述业务数据请求携带的目标端口标识确定对应的目标服务端口槽位,基于所述目标服务端口槽位将所述业务数据请求转发至所述目标服务端口槽位匹配的目标pod进行处理。
2.根据权利要求1所述的方法,其特征在于,在将所述服务匹配的服务端口槽位分配给所述服务匹配的pod之后,该方法进一步包括:在本节点添加所述服务匹配的路由规则,所述路由规则用于指示与所述服务端口槽位匹配的服务数据转发至所述服务匹配的pod;
所述基于所述目标服务端口槽位将所述业务数据请求转发至所述目标服务端口槽位匹配的目标pod进行处理,包括:
基于所述目标服务端口槽位,确定与所述目标服务端口槽位匹配的目标路由规则;
基于所述目标路由规则,将所述业务数据请求转发至所述目标服务端口槽位匹配的目标pod进行处理。
3.根据权利要求1所述的方法,其特征在于,在将所述服务匹配的服务端口槽位分配给所述服务匹配的pod之后,该方法进一步包括:将所述服务匹配的服务端口槽位的状态设置为占用状态;
该方法进一步包括:通过监听所述Api Server获得pod删除事件,基于所述pod删除事件确定待删除pod,若待删除pod为本节点内已被创建的pod,则删除该pod,并将该被删除的pod匹配的服务端口槽位的状态设置为空闲状态。
4.根据权利要求1所述的方法,其特征在于,在将所述服务匹配的服务端口槽位分配给所述服务匹配的pod之后,该方法进一步包括:
通过所述Api Server,将所述pod对应的服务信息注册至所述k8s中的注册中心;所述服务信息至少包括:服务、服务匹配的服务端口槽位、该服务端口槽位关联的端口的标识、pod标识;
所述业务数据请求携带的目标端口标识是客户端在向所述注册中心发送服务发现请求时从所述注册中心提供的所述服务对应的服务信息中选择的。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:
当删除pod时,通过所述Api Server将pod删除消息通知给所述注册中心,以由所述注册中心删除已注册的包含该被删除pod的服务信息。
6.一种应用于容器编排系统k8s的服务处理系统,其特征在于,包括:接口服务器ApiServer和节点集群,
所述接口服务器Api Server,用于接收客户端发送的服务配置事件以及服务实例pod创建事件;
所述节点集群的任一节点,用于执行如权利要求1-5任一项所述的方法。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
注册中心,用于接收所述节点发送的服务对应的服务信息,所述服务信息至少包括:服务、服务匹配的服务端口槽位、该服务端口槽位关联的端口的标识、服务匹配的pod;
在接收到客户端发送的服务发现请求时,向所述客户端提供所述服务对应的服务信息;
在接收到所述Api Server发送的pod删除消息时,删除已注册的包含该被删除pod的服务信息。
8.一种应用于容器编排系统k8s的服务处理装置,其特征在于,所述k8s包括接口服务器Api Server和节点集群,所述装置应用于所述节点集群中任一节点,所述装置包括:
服务端口槽位分配模块,用于通过监听所述Api Server获得服务配置事件,基于所述服务配置事件关联的服务,从本地网卡提供的所有服务端口中确定与所述服务匹配的服务端口槽位;不同服务匹配不同的服务端口槽位,每个服务端口槽位关联至少一个端口;
pod创建模块,用于通过监听所述Api Server获得服务实例pod创建事件,所述pod创建事件用于指示已在本节点成功创建所述服务匹配的pod,将所述服务匹配的服务端口槽位分配给所述服务匹配的pod;
业务请求转发模块,用于当接收到业务数据请求时,依据所述业务数据请求携带的目标端口标识确定对应的目标服务端口槽位,基于所述目标服务端口槽位将所述业务数据请求转发至所述目标服务端口槽位匹配的目标pod进行处理。
9.根据权利要求8所述的装置,其特征在于,该装置进一步包括:
路由规则添加模块,用于在本节点添加所述服务匹配的路由规则,所述路由规则用于指示与所述服务端口槽位匹配的服务数据转发至所述服务匹配的pod;
所述业务请求转发模块具体用于:
基于所述目标服务端口槽位,确定与所述目标服务端口槽位匹配的目标路由规则;
基于所述目标路由规则,将所述业务数据请求转发至所述目标服务端口槽位匹配的目标pod进行处理;
该装置进一步包括:
第一状态调整模块,用于将所述服务匹配的服务端口槽位的状态设置为占用状态;
该装置进一步包括:
第二状态调整模块,用于通过监听所述Api Server获得pod删除事件,基于所述pod删除事件确定待删除pod,若待删除pod为本节点内已被创建的pod,则删除该pod,并将该被删除的pod匹配的服务端口槽位的状态设置为空闲状态;
该装置进一步包括:
注册模块,用于通过所述Api Server,将所述pod对应的服务信息注册至所述k8s中的注册中心;所述服务信息至少包括:服务、服务匹配的服务端口槽位、该服务端口槽位关联的端口的标识、pod标识;
所述业务数据请求携带的目标端口标识是客户端在向所述注册中心发送服务发现请求时从所述注册中心提供的所述服务对应的服务信息中选择的;
该装置进一步包括:
删除模块,用于当删除pod时,通过所述Api Server将pod删除消息通知给所述注册中心,以由所述注册中心删除已注册的包含该被删除pod的服务信息。
10.一种电子设备,其特征在于,电子设备包括:处理器和存储器;
其中,所述存储器,用于存储机器可执行指令;
所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如权利要求1至5任一项所述的方法。
CN202310573839.3A 2023-05-18 2023-05-18 一种应用于容器编排系统k8s的服务处理方法、系统及装置 Pending CN116886523A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310573839.3A CN116886523A (zh) 2023-05-18 2023-05-18 一种应用于容器编排系统k8s的服务处理方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310573839.3A CN116886523A (zh) 2023-05-18 2023-05-18 一种应用于容器编排系统k8s的服务处理方法、系统及装置

Publications (1)

Publication Number Publication Date
CN116886523A true CN116886523A (zh) 2023-10-13

Family

ID=88265039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310573839.3A Pending CN116886523A (zh) 2023-05-18 2023-05-18 一种应用于容器编排系统k8s的服务处理方法、系统及装置

Country Status (1)

Country Link
CN (1) CN116886523A (zh)

Similar Documents

Publication Publication Date Title
WO2020186909A1 (zh) 虚拟网络业务处理方法、装置和系统,控制器,存储介质
CN110896355B (zh) 一种网络切片的选择方法及装置
CN115269184B (zh) 函数即服务(faas)执行分配器
CN108322325B (zh) 一种虚拟机管理方法及装置
CN113746887A (zh) 一种跨集群数据请求处理方法、设备及存储介质
CN113296792B (zh) 存储方法、装置、设备、存储介质和系统
CN114025021B (zh) 一种跨Kubernetes集群的通信方法、系统、介质和电子设备
CN110795244B (zh) 一种任务分配方法、装置、设备及介质
CN111327668B (zh) 网络管理方法、装置、设备和存储介质
CN110225146B (zh) 内外网映射方法、装置、电子设备、介质及视频会议系统
US9438670B2 (en) Data replication for a virtual networking system
US20220318071A1 (en) Load balancing method and related device
CN109618003B (zh) 一种服务器规划方法、服务器及存储介质
CN113810230A (zh) 对容器集群中的容器进行网络配置的方法、装置及系统
CN116566984B (zh) 一种k8s容器集群的路由信息创建方法、装置及电子设备
CN112187958A (zh) 微服务注册、发现转发的方法及装置
CN111314241B (zh) 一种任务调度方法及调度系统
WO2021013185A1 (zh) 虚机迁移处理及策略生成方法、装置、设备及存储介质
CN116886523A (zh) 一种应用于容器编排系统k8s的服务处理方法、系统及装置
CN112511440B (zh) 报文转发方法、系统、存储介质和电子设备
CN115480934A (zh) 一种分布式数据处理的方法、装置、设备及储存介质
CN109343959B (zh) 多用户计算和IO密集型SaaS系统及应用方法
CN110365742B (zh) 多活负载均衡应用创建方法、装置、计算机设备及存储介质
US6839764B2 (en) Domain encapsulation
CN112073358B (zh) 基于Kubernetes的协议转换处理方法和设备

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