CN112764886B - 一种基于Kubernetes平台的负载均衡控制器 - Google Patents
一种基于Kubernetes平台的负载均衡控制器 Download PDFInfo
- Publication number
- CN112764886B CN112764886B CN202110122796.8A CN202110122796A CN112764886B CN 112764886 B CN112764886 B CN 112764886B CN 202110122796 A CN202110122796 A CN 202110122796A CN 112764886 B CN112764886 B CN 112764886B
- Authority
- CN
- China
- Prior art keywords
- load balancing
- kubernetes
- pod
- controller
- 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
Links
- 238000000034 method Methods 0.000 claims description 7
- 239000002184 metal Substances 0.000 abstract description 5
- 230000006872 improvement Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network 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(是一个开源的容器集群管理***)集群,是无法使用负载均衡(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网络访问。
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 CN112764886A (zh) | 2021-05-07 |
CN112764886B true 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) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596190B (zh) * | 2021-07-23 | 2023-05-26 | 浪潮云信息技术股份公司 | 基于Kubernetes的应用分布式多活***及方法 |
CN113676524A (zh) * | 2021-08-09 | 2021-11-19 | 浪潮云信息技术股份公司 | 一种实现多cpu架构容器网络代理的方法 |
CN114039982B (zh) * | 2021-09-28 | 2023-04-07 | 杭州博盾习言科技有限公司 | 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 | 联想(北京)有限公司 | 访问控制方法和电子设备 |
CN117376356A (zh) * | 2023-11-28 | 2024-01-09 | 北京中睿天下信息技术有限公司 | 一种Kubernetes集群的负载均衡调度方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431740A (zh) * | 2020-03-16 | 2020-07-17 | 深信服科技股份有限公司 | 数据的传输方法、装置、设备及计算机可读存储介质 |
CN112256425A (zh) * | 2020-10-19 | 2021-01-22 | 聚好看科技股份有限公司 | 负载均衡方法及***、计算机集群、信息编辑方法及终端 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10673981B2 (en) * | 2017-06-09 | 2020-06-02 | Nutanix, Inc. | Workload rebalancing in heterogeneous resource environments |
CN109032760A (zh) * | 2018-08-01 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于部署应用的方法和装置 |
CN109831500B (zh) * | 2019-01-30 | 2020-04-28 | 无锡华云数据技术服务有限公司 | Kubernetes集群中配置文件与Pod的同步方法 |
CN112243045A (zh) * | 2019-07-16 | 2021-01-19 | 北京东土科技股份有限公司 | 服务数据处理方法、装置、节点结构及电子设备 |
CN111290834B (zh) * | 2020-01-21 | 2023-06-16 | 苏州浪潮智能科技有限公司 | 一种基于云管理平台实现业务高可用的方法、装置及设备 |
CN111427625B (zh) * | 2020-03-23 | 2023-03-24 | 中国—东盟信息港股份有限公司 | 一种基于动态路由构建Kubernetes容器云外部负载均衡器的方法 |
CN111510515B (zh) * | 2020-04-07 | 2022-09-09 | 中国建设银行股份有限公司 | 一种区分混合应用环境的容器的方法及装置 |
CN111522639B (zh) * | 2020-04-16 | 2022-11-01 | 南京邮电大学 | Kubernetes集群架构***下多维资源调度方法 |
CN111614490B (zh) * | 2020-04-29 | 2022-11-11 | 北京金山云网络技术有限公司 | 基于顶级容器集群对托管容器集群的管理***及方法 |
CN111857759A (zh) * | 2020-07-29 | 2020-10-30 | 广州锦行网络科技有限公司 | 基于kubernetes实现蜜罐服务容器分布式部署技术方法 |
CN112104723B (zh) * | 2020-09-07 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 一种多集群的数据处理***及方法 |
-
2021
- 2021-01-29 CN CN202110122796.8A patent/CN112764886B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111431740A (zh) * | 2020-03-16 | 2020-07-17 | 深信服科技股份有限公司 | 数据的传输方法、装置、设备及计算机可读存储介质 |
CN112256425A (zh) * | 2020-10-19 | 2021-01-22 | 聚好看科技股份有限公司 | 负载均衡方法及***、计算机集群、信息编辑方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN112764886A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112764886B (zh) | 一种基于Kubernetes平台的负载均衡控制器 | |
EP3291601B1 (en) | A resource allocation method of a wireless communication system and mechanism thereof | |
CN114173374A (zh) | 多接入管理服务分组分类和优先级排定技术 | |
EP3016316B1 (en) | Network control method and apparatus | |
CN105429938B (zh) | 一种资源配置方法及装置 | |
CN107659889B (zh) | 数据转发方法和装置 | |
CN102447636A (zh) | 一种数据中心通讯设备的负载分担方法和装置 | |
US20210258217A1 (en) | Dynamic management of application servers on network edge computing device | |
CN108600322B (zh) | 基于铁路视频技术规范的综合视频监控云服务***及方法 | |
CN111555974B (zh) | 一种数据包的处理方法、装置、终端设备和存储介质 | |
CN104202409A (zh) | 一种负载均衡的ssl vpn设备集群***及其工作方法 | |
US9819591B2 (en) | System and method of providing compression technique for jitter sensitive application through multiple network links | |
CN104243608A (zh) | 一种通信方法、云管理服务器及虚拟交换机 | |
US9588753B2 (en) | Inter-instance communication in a containered clustered server environment | |
CN113472848A (zh) | 一种虚拟机和容器的网络融合方法、装置及相关设备 | |
WO2018001253A1 (zh) | 多子网元分层管理的方法及装置 | |
CN103795729A (zh) | 一种多协议的统一设备控制方法 | |
CN103607242B (zh) | 一种rru的接入方法和设备 | |
CN111818147B (zh) | 一种实现openstack swift服务自动负载均衡的***及方法 | |
US9185155B2 (en) | Internet presence for a home network | |
WO2017023256A1 (en) | Cloud provisioning for networks | |
Zhao et al. | Experimental demonstration of VM designation in hybrid cloud-fog computing with software-defined optical networking | |
US20230155862A1 (en) | Systems and methods for virtualized wireless base station networking solutions | |
CN104092563B (zh) | 一种业务配置信息的传输方法和设备 | |
CN104796269A (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 |