CN112764886A - 一种基于Kubernetes平台的负载均衡控制器 - Google Patents

一种基于Kubernetes平台的负载均衡控制器 Download PDF

Info

Publication number
CN112764886A
CN112764886A CN202110122796.8A CN202110122796A CN112764886A CN 112764886 A CN112764886 A CN 112764886A CN 202110122796 A CN202110122796 A CN 202110122796A CN 112764886 A CN112764886 A CN 112764886A
Authority
CN
China
Prior art keywords
load balancing
pod
kubernets
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.)
Granted
Application number
CN202110122796.8A
Other languages
English (en)
Other versions
CN112764886B (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.)
Shanghai Hongji Information Technology Co Ltd
Original Assignee
Shanghai Hongji Information 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 Shanghai Hongji Information Technology Co Ltd filed Critical Shanghai Hongji Information Technology Co Ltd
Priority to CN202110122796.8A priority Critical patent/CN112764886B/zh
Publication of CN112764886A publication Critical patent/CN112764886A/zh
Application granted granted Critical
Publication of CN112764886B publication Critical patent/CN112764886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于Kubernetes平台的负载均衡控制器,Kubernetes集群与负载均衡网络连接,pod负载均衡控制器监控API SERVER获取Kubernetes集群的服务配置,pod负载均衡控制器将Kubernetes配置变更并同步到负载均衡上;负载均衡的匹配策略将外部流量转发到工作节点的NodePort上,iptables/IPVS对流量做一个转换,将目的IP转化为pod IP,最终将流量转发到负载均衡中;本发明解决了裸机Kubernetes集群需要负载均衡向外暴露服务的问题,实现Kubernetes服务配置自动化同步至负载均衡上,提供均衡提供高可用、高性能的应用交付能力。

Description

一种基于Kubernetes平台的负载均衡控制器
技术领域
本发明涉及通信技术领域,具体是指一种基于Kubernetes平台的负载均衡控制器。
背景技术
对于裸机Kubernetes(是一个开源的容器集群管理***)集群,是无法使用负载均衡(LoadBalancer)类型的服务,因为Kubernetes本身没有提供负载均衡器。裸机Kubernetes集群对外暴露服务,只能使用节点端口(NodePort)或Ingress服务。NodePort服务的缺点是每个暴露的服务需要占用所有节点的某个端口,而Ingress服务的缺点是只支持HTTP协议。
现有技术中通过在Kubernetes中部署一个控制器容器,集群运维人员向控制器发布同步命令之后,控制器解析命令并匹配集群中的服务配置,再将配置同步给外置负载均衡设备,需要在客户生产环境中部署负载均衡控制器容器,对客户集群环境有一定侵入性。
所以,一种可以将Kubernetes的网络配置实时同步给外部负载均衡器,实现集群业务南北向流量的发布的负载均衡控制器成为人们亟待解决的问题。
发明内容
本发明的目的是为裸机Kubernetes集群提供LoadBalancer类型对外暴露服务的功能,并借助外置负载均衡设备提供高性能、高可用的负载能力。
为实现上述目的,本发明提供的技术方案为:一种基于Kubernetes平台的负载均衡控制器,包括Kubernetes集群、负载均衡以及配置方法,所述Kubernetes集群与负载均衡网络连接,所述Kubernetes集群包括主节点与工作节点,所述主节点内部设有pod负载均衡控制器与API SERVER,所述工作节点内部设有NodePort、iptables/IPVS以及pod app;
所述pod负载均衡控制器监控API SERVER获取Kubernetes集群的服务配置,所述pod负载均衡控制器将Kubernetes配置变更并同步到负载均衡上;
所述负载均衡的匹配策略将外部流量转发到工作节点的NodePort上,所述iptables/IPVS对流量做一个转换,将目的IP转化为pod IP,最终将流量转发到负载均衡中;
所述配置方法包括以下步骤:
步骤1:部署外部负载均衡;
步骤2:通过yaml文件创建ClusterRole,添加pod负载均衡控制器访问KubernetesAPI SERVER的权限;
步骤3:Kubernetes部署控制器deployment;
步骤4:向Kubernetes集群添加configmap,并在configmap中指定service名称以及负载均衡的常规配置参数;
步骤5:pod负载均衡控制器监控API SERVER获取configmap之后,继续访问APISERVER获取configmap中指定的service、pod对象,整理配置之后同步到外部负载均衡中。
作为改进,所述步骤2中ClusterRole控制访问集群资源的权限,所述API SERVER提供Kubernetes各类资源增删改查的REST API接口。
作为改进,所述步骤3中deployment为Kubernetes内部编排调度中的一个资源集合。
作为改进,所述步骤4中service为Kubernetes的一种资源对象并为Kubernetes提供外部网络和pod网络访问。
本发明与现有技术相比的优点在于:本发明解决了裸机Kubernetes集群需要负载均衡向外暴露服务的问题,实现Kubernetes服务配置自动化同步至负载均衡上,提供均衡提供高可用、高性能、更丰富的应用交付能力,如负载均衡算法、健康检查、负载均衡策略、会话保持、L4/L7处理能力。
附图说明
图1是本发明一种基于Kubernetes平台的负载均衡控制器的工作流程图。
如图所示:1、Kubernetes集群,2、负载均衡,3、主节点,4、工作节点,5、pod负载均衡控制器,6、API SERVER,7、NodePort,8、iptables/IPVS,9、pod app。
具体实施方式
下面结合附图对本发明一种基于Kubernetes平台的负载均衡控制器做进一步的详细说明。
结合附图1,对本发明进行详细介绍。
一种基于Kubernetes平台的负载均衡控制器,包括Kubernetes集群1、负载均衡2以及配置方法,所述Kubernetes集群1与负载均衡2网络连接,所述Kubernetes集群1包括主节点3与工作节点4,所述主节点3内部设有pod负载均衡控制器5与API SERVER6,所述工作节点4内部设有NodePort7、iptables/IPVS8以及pod app9;
所述pod负载均衡控制器5监控API SERVER6获取Kubernetes集群1的服务配置,所述pod负载均衡控制器5将Kubernetes配置变更并同步到负载均衡2上;
所述负载均衡2的匹配策略将外部流量转发到工作节点4的NodePort7上,所述iptables/IPVS8对流量做一个转换,将目的IP转化为pod IP,最终将流量转发到负载均衡2中;
所述配置方法包括以下步骤:
步骤1:部署外部负载均衡2;
步骤2:通过yaml文件创建ClusterRole,添加pod负载均衡控制器5访问Kubernetes API SERVER6的权限;
步骤3:Kubernetes部署控制器deployment;
步骤4:向Kubernetes集群1添加configmap,并在configmap中指定service名称以及负载均衡2的常规配置参数;
步骤5:pod负载均衡控制器5监控API SERVER6获取configmap之后,继续访问APISERVER6获取configmap中指定的service、pod对象,整理配置之后同步到外部负载均衡2中。
所述步骤2中ClusterRole控制访问集群资源的权限,所述API SERVER提供Kubernetes各类资源增删改查的REST API接口。
所述步骤3中deployment为Kubernetes内部编排调度中的一个资源集合。
所述步骤4中service为Kubernetes的一种资源对象并为Kubernetes提供外部网络和pod网络访问。
本发明一种基于Kubernetes平台的负载均衡控制器的具体实施过程如下:
首先部署外部负载均衡2,通过yaml文件创建ClusterRole,添加pod负载均衡控制器5访问Kubernetes API SERVER6的权限,Kubernetes部署控制器deployment,向Kubernetes集群1添加configmap,configmap中需要指定service名称以及负载均衡2的常规配置参数,pod负载均衡控制器5监控API SERVER6获取configmap之后,继续访问APISERVER6获取configmap中指定的service、pod对象,整理配置之后同步到外部负载均衡2中。
以上对本发明及其实施方式进行了描述,这种描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

Claims (4)

1.一种基于Kubernetes平台的负载均衡控制器,其特征在于:包括Kubernetes集群、负载均衡以及配置方法,所述Kubernetes集群与负载均衡网络连接,所述Kubernetes集群包括主节点与工作节点,所述主节点内部设有pod负载均衡控制器与API SERVER,所述工作节点内部设有NodePort、iptables/IPVS以及pod app;
所述pod负载均衡控制器监控API SERVER获取Kubernetes集群的服务配置,所述pod负载均衡控制器将Kubernetes配置变更并同步到负载均衡上;
所述负载均衡的匹配策略将外部流量转发到工作节点的NodePort上,所述iptables/IPVS对流量做一个转换,将目的IP转化为pod IP,最终将流量转发到负载均衡中;
所述配置方法包括以下步骤:
步骤1:部署外部负载均衡;
步骤2:通过yaml文件创建ClusterRole,添加pod负载均衡控制器访问Kubernetes APISERVER的权限;
步骤3:Kubernetes部署控制器deployment;
步骤4:向Kubernetes集群添加configmap,并在configmap中指定service名称以及负载均衡的常规配置参数;
步骤5:pod负载均衡控制器监控API SERVER获取configmap之后,继续访问API SERVER获取configmap中指定的service、pod对象,整理配置之后同步到外部负载均衡中。
2.根据权利要求1所述的一种基于Kubernetes平台的负载均衡控制器,其特征在于:所述步骤2中ClusterRole控制访问集群资源的权限,所述API SERVER提供Kubernetes各类资源增删改查的REST API接口。
3.根据权利要求1所述的一种基于Kubernetes平台的负载均衡控制器,其特征在于:所述步骤3中deployment为Kubernetes内部编排调度中的一个资源集合。
4.根据权利要求1所述的一种基于Kubernetes平台的负载均衡控制器,其特征在于:所述步骤4中service为Kubernetes的一种资源对象并为Kubernetes提供外部网络和pod网络访问。
CN202110122796.8A 2021-01-29 2021-01-29 一种基于Kubernetes平台的负载均衡控制器 Active CN112764886B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110122796.8A CN112764886B (zh) 2021-01-29 2021-01-29 一种基于Kubernetes平台的负载均衡控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110122796.8A CN112764886B (zh) 2021-01-29 2021-01-29 一种基于Kubernetes平台的负载均衡控制器

Publications (2)

Publication Number Publication Date
CN112764886A true CN112764886A (zh) 2021-05-07
CN112764886B CN112764886B (zh) 2024-06-25

Family

ID=75706597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110122796.8A Active CN112764886B (zh) 2021-01-29 2021-01-29 一种基于Kubernetes平台的负载均衡控制器

Country Status (1)

Country Link
CN (1) CN112764886B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596190A (zh) * 2021-07-23 2021-11-02 浪潮云信息技术股份公司 基于Kubernetes的应用分布式多活***及方法
CN113676524A (zh) * 2021-08-09 2021-11-19 浪潮云信息技术股份公司 一种实现多cpu架构容器网络代理的方法
CN114039982A (zh) * 2021-09-28 2022-02-11 杭州博盾习言科技有限公司 Node服务器、基于Node服务器实现多Master负载均衡的方法和***
CN114374696A (zh) * 2021-12-15 2022-04-19 深圳前海微众银行股份有限公司 一种容器负载均衡方法、装置、设备及存储介质
CN114390101A (zh) * 2022-01-04 2022-04-22 上海弘积信息科技有限公司 一种基于BGP组网的Kubernetes负载均衡方法
CN114553823A (zh) * 2022-02-28 2022-05-27 联想(北京)有限公司 访问控制方法和电子设备

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN109831500A (zh) * 2019-01-30 2019-05-31 无锡华云数据技术服务有限公司 Kubernetes集群中配置文件与Pod的同步方法
US20200028935A1 (en) * 2017-06-09 2020-01-23 Nutanix, Inc. Workload rebalancing in heterogeneous resource environments
CN111290834A (zh) * 2020-01-21 2020-06-16 苏州浪潮智能科技有限公司 一种基于云管理平台实现业务高可用的方法、装置及设备
CN111427625A (zh) * 2020-03-23 2020-07-17 中国—东盟信息港股份有限公司 一种基于动态路由构建Kubernetes容器云外部负载均衡器的方法
CN111431740A (zh) * 2020-03-16 2020-07-17 深信服科技股份有限公司 数据的传输方法、装置、设备及计算机可读存储介质
CN111510515A (zh) * 2020-04-07 2020-08-07 中国建设银行股份有限公司 一种区分混合应用环境的容器的方法及装置
CN111522639A (zh) * 2020-04-16 2020-08-11 南京邮电大学 Kubernetes集群架构***下多维资源调度方法
CN111614490A (zh) * 2020-04-29 2020-09-01 北京金山云网络技术有限公司 基于顶级容器集群对托管容器集群的管理***及方法
CN111857759A (zh) * 2020-07-29 2020-10-30 广州锦行网络科技有限公司 基于kubernetes实现蜜罐服务容器分布式部署技术方法
CN112104723A (zh) * 2020-09-07 2020-12-18 腾讯科技(深圳)有限公司 一种多集群的数据处理***及方法
CN112243045A (zh) * 2019-07-16 2021-01-19 北京东土科技股份有限公司 服务数据处理方法、装置、节点结构及电子设备
CN112256425A (zh) * 2020-10-19 2021-01-22 聚好看科技股份有限公司 负载均衡方法及***、计算机集群、信息编辑方法及终端

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200028935A1 (en) * 2017-06-09 2020-01-23 Nutanix, Inc. Workload rebalancing in heterogeneous resource environments
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置
CN109831500A (zh) * 2019-01-30 2019-05-31 无锡华云数据技术服务有限公司 Kubernetes集群中配置文件与Pod的同步方法
CN112243045A (zh) * 2019-07-16 2021-01-19 北京东土科技股份有限公司 服务数据处理方法、装置、节点结构及电子设备
CN111290834A (zh) * 2020-01-21 2020-06-16 苏州浪潮智能科技有限公司 一种基于云管理平台实现业务高可用的方法、装置及设备
CN111431740A (zh) * 2020-03-16 2020-07-17 深信服科技股份有限公司 数据的传输方法、装置、设备及计算机可读存储介质
CN111427625A (zh) * 2020-03-23 2020-07-17 中国—东盟信息港股份有限公司 一种基于动态路由构建Kubernetes容器云外部负载均衡器的方法
CN111510515A (zh) * 2020-04-07 2020-08-07 中国建设银行股份有限公司 一种区分混合应用环境的容器的方法及装置
CN111522639A (zh) * 2020-04-16 2020-08-11 南京邮电大学 Kubernetes集群架构***下多维资源调度方法
CN111614490A (zh) * 2020-04-29 2020-09-01 北京金山云网络技术有限公司 基于顶级容器集群对托管容器集群的管理***及方法
CN111857759A (zh) * 2020-07-29 2020-10-30 广州锦行网络科技有限公司 基于kubernetes实现蜜罐服务容器分布式部署技术方法
CN112104723A (zh) * 2020-09-07 2020-12-18 腾讯科技(深圳)有限公司 一种多集群的数据处理***及方法
CN112256425A (zh) * 2020-10-19 2021-01-22 聚好看科技股份有限公司 负载均衡方法及***、计算机集群、信息编辑方法及终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谢超群;: "基于Kubernetes容器云的应用研究", 西安文理学院学报(自然科学版), no. 04, 15 October 2020 (2020-10-15) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596190A (zh) * 2021-07-23 2021-11-02 浪潮云信息技术股份公司 基于Kubernetes的应用分布式多活***及方法
CN113676524A (zh) * 2021-08-09 2021-11-19 浪潮云信息技术股份公司 一种实现多cpu架构容器网络代理的方法
CN114039982A (zh) * 2021-09-28 2022-02-11 杭州博盾习言科技有限公司 Node服务器、基于Node服务器实现多Master负载均衡的方法和***
CN114374696A (zh) * 2021-12-15 2022-04-19 深圳前海微众银行股份有限公司 一种容器负载均衡方法、装置、设备及存储介质
CN114390101A (zh) * 2022-01-04 2022-04-22 上海弘积信息科技有限公司 一种基于BGP组网的Kubernetes负载均衡方法
CN114553823A (zh) * 2022-02-28 2022-05-27 联想(北京)有限公司 访问控制方法和电子设备

Also Published As

Publication number Publication date
CN112764886B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
CN112764886A (zh) 一种基于Kubernetes平台的负载均衡控制器
CN109542457B (zh) 一种边缘计算网络的分布式应用分发部署的***及方法
CN109600246B (zh) 网络切片管理方法及其装置
CN103117947B (zh) 一种负载分担方法及装置
EP3016316A1 (en) Network control method and apparatus
CN106027287B (zh) 一种配电通信网统一管控平台
CN104167817B (zh) 一种电力设备实时信息集成的***及方法
CN102595208A (zh) 云端控制网络化视频图像处理流媒体服务***及方法
CN109687986B (zh) 一种基于私有云平台的Redis运维方法及***
US9960960B2 (en) Remote management systems and apparatuses for CWMP and methods for improving performance of remote management thereof
CN115883655B (zh) 服务请求处理方法、装置、电子设备及存储介质
CN108924228B (zh) 基于边缘计算的工业互联网优化***
CN104363278A (zh) 一种海量终端通信接入***
CN103777950A (zh) 一种对aos遥测数据解析的网格化方法
CN105764097A (zh) 资源分配方法及装置
US20170222930A1 (en) System and method of providing compression technique for jitter sensitive application through multiple network links
CN112671914B (zh) 一种基于actor模型的物联网设备通讯方法和***
CN113472848A (zh) 一种虚拟机和容器的网络融合方法、装置及相关设备
CN107438098B (zh) 一种动态内容分发方法及其***
CN111752675B (zh) 一种基于容器化技术的物联网平台
CN104468293A (zh) Vpn接入方法
CN110430117B (zh) 一种连接云端网络与用户内网的高并发隧道***及方法
CN104320357A (zh) 一种带宽自动分配方法
CN103607242B (zh) 一种rru的接入方法和设备
CN110505626B (zh) 一种大规模wifi网络信息推送方法及***

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