CN112702211A - 一种基于Kubernetes的网络服务网格系统 - Google Patents
一种基于Kubernetes的网络服务网格系统 Download PDFInfo
- Publication number
- CN112702211A CN112702211A CN202011611246.4A CN202011611246A CN112702211A CN 112702211 A CN112702211 A CN 112702211A CN 202011611246 A CN202011611246 A CN 202011611246A CN 112702211 A CN112702211 A CN 112702211A
- Authority
- CN
- China
- Prior art keywords
- terminal
- network
- client
- network service
- manager
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于Kubernetes的网络服务网格系统,属于云计算技术中的Kubernetes网络治理系统领域,本发明包括终端,客户端,注册表,管理器,网格转发器;其中,终端负责对外提供网络服务,它负责接收来自一个或者一个以上客户端的请求,向客户端提供网络服务;客户端是需要使用动态的高级网络功能的客户端;网络服务网格中相关对象和组件的注册表;管理器是网络服务网格的控制组件;网格转发器是提供从客户端到网络服务终端之间的端到端连接的数据面组件。本发明够为Kubernetes中部署的应用提供动态的高级网络功能,补齐Kubernetes对云原生应用网络支持的短板。
Description
技术领域
本发明涉及云计算技术中的Kubernetes网络治理系统领域,尤其涉及一种基于Kubernetes的网络服务网格系统。
背景技术
随着云计算和微服务领域的技术不断成熟,越来越多的传统单体应用被拆分成的大量的微服务并开始上云,而Kubernetes已经成为云原生应用编排的事实标准,微服务部署在Kubernetes上,从而产生了大量的服务间东西向网络流量,为了满足集群内部应用之间的这些东西向流量需求,Kubernetes采用了一个扁平的三层网络模型,这个网络模型的目的是为了处理同一个集群内pod的东西向网络流量,因此设计的非常简单清晰,对于普通的IT和企业应用场景,该模型已经完全够用。但对于电信和一些高级的企业网络需求来说,Kubernetes的网络还存在一些局限性,比如pod在创建后网络就固定下来了,不能再进行动态更新,因此不能满足应用的动态网络需求。此外,Kubernetes的网络主要针对集群内部流量,缺乏对跨云和跨集群连通性的支持。
发明内容
为了解决以上技术问题,本发明提供了一种基于Kubernetes的网络服务网格系统,旨在为Kubernetes中部署的应用提供一些高级网络功能服务,补齐 Kubernetes对云原生应用网络支持的短板。通过部署各种提供高级网络服务的终端,应用只需要结合简单易用的yaml声明配置,就能自动连接到终端,获取各种高级网络功能,动态的满足应用的不同网络需求。
本发明的技术方案是:
一种基于Kubernetes的网络服务网格系统,包括终端,客户端,注册表,管理器,网格转发器
其中,
终端负责对外提供网络服务,它负责接收来自一个或者一个以上客户端的请求,向客户端提供网络服务;
客户端是需要使用动态的高级网络功能的客户端;
网络服务网格中相关对象和组件的注册表,包含网络服务终端、管理器的实例信息;
管理器是网络服务网格的控制组件;
网格转发器是提供从客户端到网络服务终端之间的端到端连接的数据面组件。
进一步的,
所述管理器将部署在集群里的每个节点上,不同节点上的管理器可以相互通信和协商,形成一个分布式控制面,这些相互通信的管理器组成了一个连接终端和客户端的网格。
所述管理器主要负责两件事情:
1)处理来自客户端的网络服务使用请求,为请求匹配符合要求的网络服务终端,0并为客户端创建到网络服务终端的虚拟连接;
2)将其所在节点上的网络服务终端注册到注册表上。
进一步的,
网格转发器直接配置linux内核的转发规则,也可以是一个第三方的网络控制面。
网格转发器负责在网络服务终端和客户端的两个新创建的网络接口之间搭建一条虚拟点对点链路,该链路可以看做这两个网络接口之间的一条虚拟网线,从一段进入的数据,会从另一端出来,从而确保客户端到终端的网络连通性。
进一步的,
负责提供网络服务的终端所在节点的管理器负责将其注册到注册表中,客户端应用Pod中的Init Container根据yaml向同一节点上的管理器发起使用网络服务的请求;接着管理器会向注册表查询可用的网络服务终端。终端可位于和客户端相同的节点上,或在不同的节点上。
如果在相同的节点上,管理器会和终端所在节点上的管理器进行通信,转发请求,发起请求连接,终端根据自己的业务逻辑进行判断,如果可以接受该客户端的服务请求,则接受该连接请求;终端所在节点的管理器调用网格转发器创建一个网络接口,加入到终端的Pod中。
如果终端和客户端在不同的节点上,终端所在节点的管理器会通知客户端所在节点的管理器,接受该服务请求;客户端所在节点的管理器调用网格转发器创建一个网络接口,加入到客户端应用Pod中,并进行相应的网络配置,保证到终端的网络打通。
本发明基于Kubernetes的网络服务网格设计能够为Kubernetes中部署的应用提供动态的高级网络功能,并且还支持虚拟机和服务器,是一个跨云平台的云原生网络解决方案,从而补齐了Kubernetes对云原生应用网络支持的这一块短板。
本发明的有益效果是
简单易用,客户端只需通过Yaml声明就能使用高级网络服务。
不需要手动配置客户端到网络服务终端之间的连接、IP地址、子网、路由等,这些业务逻辑细节被网络服务网格框架处理,客户端无感知。
灵活可配置,可以根据需求向网络服务网格中添加新的网络服务类型,这些网络服务可以由第三方实现和提供。
网络服务终端的数量可以根据工作负载进行水平扩展,确保服务的稳定性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于Kubernetes的网络服务网格设计,该设计的核心由五部分组成,包括终端,客户端,注册表,管理器,网格转发器。网络服务网格提供了一种声明式yaml的方式来为客户端提供网络服务,它会通过Kubernetes的 admission webhook功能在需要使用网络服务的客户端Pod中注入一个Init Container,由该Init Container来负责根据yaml声明文件来向管理器请求对应的网络服务,因此应用程序不需要关注网络服务的请求和连接创建过程。
以下进一步说明:
(一)、终端
终端负责对外提供网络服务,它负责接收来自一个或者多个客户端的请求,向客户端提供网络服务。
(二)、客户端
需要使用动态的高级网络功能的客户端。
(三)、注册表
网络服务网格中相关对象和组件的注册表,包含网络服务终端、管理器的实例信息。
(四)、管理器
管理器是网络服务网格的控制组件,将部署在集群里的每个节点上,不同节点上的管理器可以相互通信和协商,形成一个分布式控制面,这些相互通信的管理器组成了一个连接终端和客户端的网格,管理器主要负责两件事情:
1)处理来自客户端的网络服务使用请求,为请求匹配符合要求的网络服务终端,并为客户端创建到网络服务终端的虚拟连接。
2)将其所在节点上的网络服务终端注册到注册表上。
(五)、网格转发器
网格转发器是提供从客户端到网络服务终端之间的端到端连接的数据面组件,它可以直接配置linux内核的转发规则,也可以是一个第三方的网络控制面。它负责在网络服务终端和客户端的两个新创建的网络接口之间搭建一条虚拟点对点链路,该链路可以看做这两个网络接口之间的一条虚拟网线,从一段进入的数据,会从另一端出来,从而确保客户端到终端的网络连通性。
首先要有负责提供网络服务的终端,该终端所在节点的管理器负责将其注册到注册表中,客户端应用Pod中的Init Container根据yaml向同一节点上的管理器发起使用网络服务的请求。接着管理器会向注册表查询可用的网络服务终端,终端可能位于和客户端相同的节点上,也可能在不同的节点上,如果在不同的节点上,管理器会和终端所在节点上的管理器进行通信,转发请求,发起请求连接,终端根据自己的业务逻辑进行判断,如果可以接受该客户端的服务请求,则接受该连接请求。终端所在节点的管理器调用网格转发器创建一个网络接口,加入到终端的Pod中。如果终端和客户端在不同的节点上,终端所在节点的管理器会通知客户端所在节点的管理器,接受该服务请求。客户端所在节点的管理器调用网格转发器创建一个网络接口,加入到客户端应用Pod中,并进行相应的网络配置,保证到终端的网络打通。
本发明基于Kubernetes的声明式yaml配置,再结合网络服务终端,能够为Kubernetes中部署的应用提供高级的网络服务。
通过yaml配置自动打通客户端到网络服务终端的网络连接,保证网络服务的可用性,无需客户端手动配置。
可以根据需要向网络服务网格中添加新的网络服务类型,满足不同的客户端对各种高级网络服务的需求。
提供网络服务的终端数量可以根据工作负载进行水平扩展,确保服务的可用性和稳定性。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种基于Kubernetes的网络服务网格系统,其特征在于,
包括终端,客户端,注册表,管理器,网格转发器
其中,
终端负责对外提供网络服务,它负责接收来自一个或者一个以上客户端的请求,向客户端提供网络服务;
客户端是需要使用动态的高级网络功能的客户端;
网络服务网格中相关对象和组件的注册表,包含网络服务终端、管理器的实例信息;
管理器是网络服务网格的控制组件;
网格转发器是提供从客户端到网络服务终端之间的端到端连接的数据面组件。
2.根据权利要求1所述的系统,其特征在于,
所述管理器将部署在集群里的每个节点上,不同节点上的管理器可以相互通信和协商,形成一个分布式控制面,这些相互通信的管理器组成了一个连接终端和客户端的网格。
3.根据权利要求2所述的系统,其特征在于,
所述管理器主要负责两件事情:
1)处理来自客户端的网络服务使用请求,为请求匹配符合要求的网络服务终端,0并为客户端创建到网络服务终端的虚拟连接;
2)将其所在节点上的网络服务终端注册到注册表上。
4.根据权利要求2所述的系统,其特征在于,
网格转发器直接配置linux内核的转发规则,也可以是一个第三方的网络控制面。
5.根据权利要求2或4所述的系统,其特征在于,
网格转发器负责在网络服务终端和客户端的两个新创建的网络接口之间搭建一条虚拟点对点链路,该链路可以看做这两个网络接口之间的一条虚拟网线,从一段进入的数据,会从另一端出来,从而确保客户端到终端的网络连通性。
6.根据权利要求5所述的系统,其特征在于,
负责提供网络服务的终端所在节点的管理器负责将其注册到注册表中,客户端应用Pod中的Init Container根据yaml向同一节点上的管理器发起使用网络服务的请求;接着管理器会向注册表查询可用的网络服务终端。
7.根据权利要求6所述的系统,其特征在于,
终端可位于和客户端相同的节点上,或在不同的节点上。
8.根据权利要求7所述的系统,其特征在于,
如果在相同的节点上,管理器会和终端所在节点上的管理器进行通信,转发请求,发起请求连接,终端根据自己的业务逻辑进行判断,如果可以接受该客户端的服务请求,则接受该连接请求;终端所在节点的管理器调用网格转发器创建一个网络接口,加入到终端的Pod中。
9.根据权利要求7所述的系统,其特征在于,
如果终端和客户端在不同的节点上,终端所在节点的管理器会通知客户端所在节点的管理器,接受该服务请求;客户端所在节点的管理器调用网格转发器创建一个网络接口,加入到客户端应用Pod中,并进行相应的网络配置,保证到终端的网络打通。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011611246.4A CN112702211B (zh) | 2020-12-30 | 2020-12-30 | 一种基于Kubernetes的网络服务网格系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011611246.4A CN112702211B (zh) | 2020-12-30 | 2020-12-30 | 一种基于Kubernetes的网络服务网格系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702211A true CN112702211A (zh) | 2021-04-23 |
CN112702211B CN112702211B (zh) | 2022-06-24 |
Family
ID=75512564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011611246.4A Active CN112702211B (zh) | 2020-12-30 | 2020-12-30 | 一种基于Kubernetes的网络服务网格系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702211B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155939A (zh) * | 2023-10-31 | 2023-12-01 | 北京比格大数据有限公司 | 一种实现跨集群资源调度的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105282195A (zh) * | 2014-06-27 | 2016-01-27 | 中兴通讯股份有限公司 | 网络服务提供、策略规则评估、服务组件选择方法及装置 |
CN106227611A (zh) * | 2016-07-26 | 2016-12-14 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务调用方法及装置 |
US20170111241A1 (en) * | 2015-10-19 | 2017-04-20 | Draios Inc. | Automated service-oriented performance management |
CN108519911A (zh) * | 2018-03-23 | 2018-09-11 | 上饶市中科院云计算中心大数据研究院 | 一种基于容器的集群管理系统中资源的调度方法和装置 |
CN110198231A (zh) * | 2018-05-08 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 用于多租户的容器网络管理方法和系统以及中间件 |
US10484334B1 (en) * | 2013-02-26 | 2019-11-19 | Zentera Systems, Inc. | Distributed firewall security system that extends across different cloud computing networks |
CN111026414A (zh) * | 2019-12-12 | 2020-04-17 | 杭州安恒信息技术股份有限公司 | 一种基于kubernetes的HDP平台部署方法 |
CN111371679A (zh) * | 2020-03-09 | 2020-07-03 | 山东汇贸电子口岸有限公司 | 一种基于kubernetes与Kong实现API网关的方法 |
CN112035216A (zh) * | 2020-09-01 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种Kubernetes集群网络和OpenStack网络的打通方法 |
-
2020
- 2020-12-30 CN CN202011611246.4A patent/CN112702211B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10484334B1 (en) * | 2013-02-26 | 2019-11-19 | Zentera Systems, Inc. | Distributed firewall security system that extends across different cloud computing networks |
CN105282195A (zh) * | 2014-06-27 | 2016-01-27 | 中兴通讯股份有限公司 | 网络服务提供、策略规则评估、服务组件选择方法及装置 |
US20170111241A1 (en) * | 2015-10-19 | 2017-04-20 | Draios Inc. | Automated service-oriented performance management |
CN106227611A (zh) * | 2016-07-26 | 2016-12-14 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务调用方法及装置 |
CN108519911A (zh) * | 2018-03-23 | 2018-09-11 | 上饶市中科院云计算中心大数据研究院 | 一种基于容器的集群管理系统中资源的调度方法和装置 |
CN110198231A (zh) * | 2018-05-08 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 用于多租户的容器网络管理方法和系统以及中间件 |
CN111026414A (zh) * | 2019-12-12 | 2020-04-17 | 杭州安恒信息技术股份有限公司 | 一种基于kubernetes的HDP平台部署方法 |
CN111371679A (zh) * | 2020-03-09 | 2020-07-03 | 山东汇贸电子口岸有限公司 | 一种基于kubernetes与Kong实现API网关的方法 |
CN112035216A (zh) * | 2020-09-01 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种Kubernetes集群网络和OpenStack网络的打通方法 |
Non-Patent Citations (3)
Title |
---|
夏之斌等: "一种云计算的虚拟网络管理系统", 《软件》 * |
李翔: "在私有Kubernetes集群中实现服务的负载均衡", 《电子技术与软件工程》 * |
齐磊等: "基于容器技术的PaaS云平台方案", 《电信科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155939A (zh) * | 2023-10-31 | 2023-12-01 | 北京比格大数据有限公司 | 一种实现跨集群资源调度的方法 |
CN117155939B (zh) * | 2023-10-31 | 2024-02-27 | 北京比格大数据有限公司 | 一种实现跨集群资源调度的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112702211B (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111106991B (zh) | 一种云专线系统及其业务发放和开通方法 | |
CN103780471B (zh) | 一种应用于软件定义网络的多控制器管理网络设备的方法 | |
CN104811371B (zh) | 一种全新的即时通信系统 | |
CN105450553A (zh) | 管理控制器在数据中心环境中学习控制平面层次的机制 | |
WO2019127418A1 (zh) | 网络服务管理方法、相关装置及系统 | |
US11665088B2 (en) | Assisted replication in software defined network | |
CN105610981A (zh) | 快速作战信息流转平台 | |
CN110838964B (zh) | 一种虚拟网络与物理网络的网络对接系统 | |
CN104993998A (zh) | 支持云部署的企业级安全即时通信系统和方法 | |
CN108011732A (zh) | 配置业务资源的方法、控制器及系统 | |
CN112702211B (zh) | 一种基于Kubernetes的网络服务网格系统 | |
US20220350637A1 (en) | Virtual machine deployment method and related apparatus | |
CN112769602A (zh) | 一种白盒交换机统一配置管理系统、方法和网络操作系统 | |
US20190281478A1 (en) | Integrated Access System | |
WO2021078058A1 (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN104113791A (zh) | 一种自动交换光网络演进系统及方法 | |
CN116074160A (zh) | 一种gpu渲染计算节点集群虚拟组网公网转发方法 | |
CN215010316U (zh) | 一种双栈三网互通平台系统 | |
CN112910959B (zh) | 一种基于SDN的多Kubernetes集群的网络互联方法 | |
CN114979139A (zh) | 边缘计算场景下异构虚拟网关的管理系统及方法 | |
CN114189485A (zh) | 一种交换机的网口管理方法、系统及计算机可读存储介质 | |
CN114650290A (zh) | 网络连通的方法、处理装置、终端及存储介质 | |
CN207560021U (zh) | 一种基于动态云服务器的网络通话质量改善系统 | |
CN114500646B (zh) | 一种去中心化的esb云平台系统及其服务调用方法 | |
WO2023169124A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |