CN113596190B - 基于Kubernetes的应用分布式多活***及方法 - Google Patents

基于Kubernetes的应用分布式多活***及方法 Download PDF

Info

Publication number
CN113596190B
CN113596190B CN202110835439.6A CN202110835439A CN113596190B CN 113596190 B CN113596190 B CN 113596190B CN 202110835439 A CN202110835439 A CN 202110835439A CN 113596190 B CN113596190 B CN 113596190B
Authority
CN
China
Prior art keywords
cluster
clusters
application
kubernetes
domain name
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
CN202110835439.6A
Other languages
English (en)
Other versions
CN113596190A (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202110835439.6A priority Critical patent/CN113596190B/zh
Publication of CN113596190A publication Critical patent/CN113596190A/zh
Application granted granted Critical
Publication of CN113596190B publication Critical patent/CN113596190B/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/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0659Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
    • 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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了基于Kubernetes的应用分布式多活***及方法,属于云计算领域,要解决的技术问题为如何统一管理调度应用服务的容器资源,弥补单Kubernetes集群对云原生应用服务可靠性支持的局限性,技术方案为:包括集群管理器、配置管理器、调度器和域名解析器;集群管理器用于对多个不同区域及不同种类的集群进行统一管理;配置管理器用于处理各种Kubernetes资源对象;调度器用于应用在集群中的调度分布;域名解析器用于各种集群之间的应用服务发现。该方法是将应用服务同步分布调度到Kubernetes集群中,通过自动配置DNS服务商的服务器将多个Kubernetes集群的应用服务统一暴露出来,并自动对多个Kubernetes集群的应用进行健康检查,及时将故障应用从DNS服务商的服务器中踢出,实现故障应用自动切流。

Description

基于Kubernetes的应用分布式多活***及方法
技术领域
本发明涉及云计算技术中的Kubernetes应用治理领域,具体地说是一种基于Kubernetes的应用分布式多活***及方法。
背景技术
随着容器和云计算领域的技术不断成熟,越来越多的传统应用开始上云,而Kubernetes已经成为云原生应用编排的事实标准,应用服务都部署在Kubernetes上,但是在实际使用中经常会遇到一些问题,就是单个Kubernetes集群通常无法跨越多个地域部署,更不用说跨越不同的云厂商,这样就会对应用服务带来一些问题,导致应用不能实现地域级别的容灾备份以及在不同地域间进行故障切流,并且还有单个集群规模的上限等问题,所以根据应用服务的业务形态以及对云灾备的需求,应用服务通常需要部署在不同地域甚至不同云厂商的多个Kubernetes集群里,故如何统一管理调度应用服务的容器资源,同时弥补单Kubernetes集群对云原生应用服务可靠性支持的局限性是目前亟待解决的问题。
发明内容
本发明的技术任务是提供一种基于Kubernetes的应用分布式多活***及方法,来解决如何统一管理调度应用服务的容器资源,同时弥补单Kubernetes集群对云原生应用服务可靠性支持的局限性的问题。
本发明的技术任务是按以下方式实现的,一种基于Kubernetes的应用分布式多活***,该***包括,
集群管理器,用于对多个不同区域及不同种类的集群进行统一管理;
配置管理器,用于处理各种Kubernetes资源对象;
调度器,用于应用在集群中的调度分布;
域名解析器,用于各种集群之间的应用服务发现。
作为优选,所述集群管理器包括Cluster资源对象和集群控制器;
Cluster资源对象用于定义所管理的各种集群;
集群控制器用于监听Cluster资源对象,根据Cluster资源对象的变化来同步管理各种集群,从而能够实现对多个不同区域、不同种类的集群进行统一管理,支持动态集群接入和删除。
作为优选,所述配置管理器包括Config资源对象和配置控制器;
Config资源对象用于定义要下发的资源对象的详细信息;
配置控制器用于监听Config资源对象,根据定义内容将Config资源对象同步下发到所管理的集群里;
其中,Config资源对象包括Template、Placement及Override;
Template用于定义要下发的资源对象的全部信息,例如Kubernetes里的Deployment、Service等资源定义;
Placement用于定义资源对象要下发到所管理的哪些集群中,若不进行定义,则会同步下发到所管理的所有集群中;同时定义每个集群分布的最多及最少实例数,由调度器根据此配置进行弹性调度;
Override用于提供差异化修改Template中字段的能力;对于要下发的同一个资源对象,由于云厂商或集群版本等各种因素的影响,在不同的集群配置中可能会有所差异;例如deployment对象,其中某些字段在不同的Kubernetes集群中要求不一样,所以需要差异化配置这些字段。
作为优选,所述调度器用于应用在Kubernetes里的Deployment资源的调度分布,根据定义资源对象在每个集群中分布的最多及最少实例进行弹性调度,并根据集群的负载情况在集群间进行合理伸缩;
其中,当调度结果跟自定义的Override冲突时,该调度结果享有优先权,例如Override中定义应用实例的个数为5个,实际调度器计算的调度结果只有3个,那么自定义的Override中实例个数将由5个被改为3个。
更优地,所述域名解析器用于各种集群之间的应用服务发现具体如下:
(1)、域名解析器对接到DNS服务商的服务器上;
(2)、应用服务被下发创建后,域名解析器会收集各集群中应用所对应ervice的信息,获取到相应的ip和域名组合;
(3)、将各集群服务的ip与对应域名自动配置到公网的DNS服务商的服务器上,以通过公网域名实现跨集群服务发现;
(4)、域名解析器对应用服务进行健康检查:
当集群故障或应用出现问题时,健康检查失败;
(5)、域名解析器更新DNS服务商的服务器,将故障应用的ip从DNS服务商的服务器里移除,实现故障自动切流。
一种基于Kubernetes的应用分布式多活方法,该方法是将应用服务同步分布调度到Kubernetes集群中,通过自动配置DNS服务商的服务器将多个Kubernetes集群的应用服务统一暴露出来,并自动对多个Kubernetes集群的应用进行健康检查,及时将故障应用从DNS服务商的服务器中踢出,实现故障应用自动切流,确保服务访问稳定性的同时最终实现应用服务的分布式多活。
作为优选,该方法具体如下;
S1、集群管理器对多个不同区域及不同种类的集群进行统一管理,具体如下:
S101、集群管理器的Cluster资源对象定义所管理的各种集群;
S102、集群管理器的集群控制器监听Cluster资源对象,根据Cluster资源对象的变化来同步管理各种集群,实现对多个不同区域及不同种类的集群进行统一管理,同时支持动态集群接入与删除;
S2、配置管理器处理各种Kubernetes资源对象,具体如下;
S201、配置管理器的Config资源对象里定义要下发的资源对象的详细信息;
S202、配置控制器会监听Config资源对象,根据里面的定义内容将Config资源对象同步下发到所管理的集群里;
S3、调度器负责应用在Kubernetes里的Deployment资源的调度分布,根据定义资源对象在每个集群中分布的最多及最少实例进行弹性调度,并根据集群的负载情况在集群间进行合理伸缩;
S4、域名解析器负责各个集群之间的应用服务发现。
更优地,所述Config资源对象包括Template、Placement及Override;
Template用于定义要下发的资源对象的全部信息,例如Kubernetes里的Deployment、Service等资源定义;
Placement用于定义资源对象要下发到所管理的哪些集群中,若不进行定义,则会同步下发到所管理的所有集群中;同时定义每个集群分布的最多及最少实例数,由调度器根据此配置进行弹性调度;
Override用于提供差异化修改Template中字段的能力;对于要下发的同一个资源对象,由于云厂商或集群版本等各种因素的影响,在不同的集群配置中可能会有所差异;例如deployment对象,其中某些字段在不同的Kubernetes集群中要求不一样,所以需要差异化配置这些字段。
更优地,所述步骤S4的域名解析器负责各个集群之间的应用服务发现具体如下:
S401、域名解析器对接到DNS服务商的服务器上;
S402、应用服务被下发创建后,域名解析器会收集各集群中应用所对应ervice的信息,获取到相应的ip和域名组合;
S403、将各集群服务的ip与对应域名自动配置到公网的DNS服务商的服务器上,以通过公网域名实现跨集群服务发现;
S404、域名解析器对应用服务进行健康检查:
当集群故障或应用出现问题时,健康检查失败;
S405、域名解析器更新DNS服务商的服务器,将故障应用的ip从DNS服务商的服务器里移除,实现故障自动切流。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于Kubernetes的应用分布式多活方法。
本发明的基于Kubernetes的应用分布式多活***及方法具有以下优点:
(一)本发明旨在统一管理多个Kubernetes集群,将应用服务同步分布式调度到这些集群中,通过自动配置DNS服务器将多个集群的应用服务统一暴露出来,并能自动对这些集群的应用进行健康检查,及时将故障应用从DNS服务器中踢出,实现故障应用自动切流,以确保服务访问的稳定性,从而弥补了单Kubernetes集群对云原生应用服务可靠性支持的局限性,最终实现应用服务的分布式多活;
(二)本发明采用统一管理与调度多个Kubernetes集群的方式,跨多个集群进行应用服务编排,并根据负载情况进行合理伸缩,并且还具有配置域名解析功能,能够提供管理各个集群应用的跨集群访问能力,让应用能够访问到多个集群的相同后端服务;
(三)本发明简单易用,能够管理多个Kubernetes集群的资源对象,只需要一次定义就能自动同步到多个集群,在多个集群之间分散部署工作负载,从而提升应用服务的可靠性;
(四)本发明实现了跨集群的资源编排调度,调度器能够依据编排策略在多个集群进行弹性应用服务部署;
(五)本发明实现了跨集群的服务发现,通过域名解析来实现跨集群的服务发现,并能将故障应用及时移除,保证应用能够稳定的提供服务;
(六)本发明统一管理与调度多个Kubernetes集群,支持动态集群接入与删除,根据配置和负载情况对应用服务进行分布式弹性调度,对跨集群的应用进行统一部署和更新删除,并通过自动配置DNS服务器来提供各个集群应用的跨集群访问能力,保证能够访问到多个集群的相同后端应用,并且当某个集群的后端应用发生故障时,能够自动切换到其他集群的相同后端服务,确保应用服务的可用性和稳健性;
(七)本发明简化管理多个Kubernetes集群,只需要定义Cluster资源对象,就能动态的接入新集群或删除某个集群;
(八)本发明通过自动化的机制来将应用服务分布式调度到不同集群中,基于副本数和集群负载情况等调度策略来对应用进行编排;
(九)本发明自动对应用服务进行健康检查,及时从DNS服务器中踢出不健康的应用,实现故障应用自动切流;
(十)本发明基于Kubernetes的应用分布式多活设计能够将应用服务部署在不同的Kubernetes集群里并统一管理运维,简化管理多个集群的应用服务组件,如Deployment,Service等,并在多个集群之间分散工作负载,以提升应用服务的可靠性,最终实现应用服务的分布式多活。。
附图说明
下面结合附图对本发明进一步说明。
附图1为基于Kubernetes的应用分布式多活***的结构框图。
具体实施方式
参照说明书附图和具体实施例对本发明的基于Kubernetes的应用分布式多活***及方法作以下详细地说明。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述。而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1:
如附图1所示,本发明的基于Kubernetes的应用分布式多活***该***包括,
集群管理器,用于对多个不同区域及不同种类的集群进行统一管理;
配置管理器,用于处理各种Kubernetes资源对象;
调度器,用于应用在集群中的调度分布;
域名解析器,用于各种集群之间的应用服务发现。
本实施例中的集群管理器包括Cluster资源对象和集群控制器;
Cluster资源对象用于定义所管理的各种集群;
集群控制器用于监听Cluster资源对象,根据Cluster资源对象的变化来同步管理各种集群,从而能够实现对多个不同区域、不同种类的集群进行统一管理,支持动态集群接入和删除。
本实施例中的配置管理器包括Config资源对象和配置控制器;
Config资源对象用于定义要下发的资源对象的详细信息;
配置控制器用于监听Config资源对象,根据定义内容将Config资源对象同步下发到所管理的集群里;
其中,Config资源对象包括Template、Placement及Override;
Template用于定义要下发的资源对象的全部信息,例如Kubernetes里的Deployment、Service等资源定义;
Placement用于定义资源对象要下发到所管理的哪些集群中,若不进行定义,则会同步下发到所管理的所有集群中;同时定义每个集群分布的最多及最少实例数,由调度器根据此配置进行弹性调度;
Override用于提供差异化修改Template中字段的能力;对于要下发的同一个资源对象,由于云厂商或集群版本等各种因素的影响,在不同的集群配置中可能会有所差异;例如deployment对象,其中某些字段在不同的Kubernetes集群中要求不一样,所以需要差异化配置这些字段。
本实施例中的调度器用于应用在Kubernetes里的Deployment资源的调度分布,根据定义资源对象在每个集群中分布的最多及最少实例进行弹性调度,并根据集群的负载情况在集群间进行合理伸缩;
其中,当调度结果跟自定义的Override冲突时,该调度结果享有优先权,例如Override中定义应用实例的个数为5个,实际调度器计算的调度结果只有3个,那么自定义的Override中实例个数将由5个被改为3个。
本实施例中的域名解析器用于各种集群之间的应用服务发现具体如下:
(1)、域名解析器对接到DNS服务商的服务器上;
(2)、应用服务被下发创建后,域名解析器会收集各集群中应用所对应ervice的信息,获取到相应的ip和域名组合;
(3)、将各集群服务的ip与对应域名自动配置到公网的DNS服务商的服务器上,以通过公网域名实现跨集群服务发现;
(4)、域名解析器对应用服务进行健康检查:
当集群故障或应用出现问题时,健康检查失败;
(5)、域名解析器更新DNS服务商的服务器,将故障应用的ip从DNS服务商的服务器里移除,实现故障自动切流。
实施例2:
本发明的基于Kubernetes的应用分布式多活方法,该方法是将应用服务同步分布调度到Kubernetes集群中,通过自动配置DNS服务商的服务器将多个Kubernetes集群的应用服务统一暴露出来,并自动对多个Kubernetes集群的应用进行健康检查,及时将故障应用从DNS服务商的服务器中踢出,实现故障应用自动切流,确保服务访问稳定性的同时最终实现应用服务的分布式多活;该方法具体如下;
S1、集群管理器对多个不同区域及不同种类的集群进行统一管理,具体如下:
S101、集群管理器的Cluster资源对象定义所管理的各种集群;
S102、集群管理器的集群控制器监听Cluster资源对象,根据Cluster资源对象的变化来同步管理各种集群,实现对多个不同区域及不同种类的集群进行统一管理,同时支持动态集群接入与删除;
S2、配置管理器处理各种Kubernetes资源对象,具体如下;
S201、配置管理器的Config资源对象里定义要下发的资源对象的详细信息;
S202、配置控制器会监听Config资源对象,根据里面的定义内容将Config资源对象同步下发到所管理的集群里;
S3、调度器负责应用在Kubernetes里的Deployment资源的调度分布,根据定义资源对象在每个集群中分布的最多及最少实例进行弹性调度,并根据集群的负载情况在集群间进行合理伸缩;
S4、域名解析器负责各个集群之间的应用服务发现;具体如下:
S401、域名解析器对接到DNS服务商的服务器上;
S402、应用服务被下发创建后,域名解析器会收集各集群中应用所对应ervice的信息,获取到相应的ip和域名组合;
S403、将各集群服务的ip与对应域名自动配置到公网的DNS服务商的服务器上,以通过公网域名实现跨集群服务发现;
S404、域名解析器对应用服务进行健康检查:
当集群故障或应用出现问题时,健康检查失败;
S405、域名解析器更新DNS服务商的服务器,将故障应用的ip从DNS服务商的服务器里移除,实现故障自动切流。
本实施例中的述Config资源对象包括Template、Placement及Override;
Template用于定义要下发的资源对象的全部信息,例如Kubernetes里的Deployment、Service等资源定义;
Placement用于定义资源对象要下发到所管理的哪些集群中,若不进行定义,则会同步下发到所管理的所有集群中;同时定义每个集群分布的最多及最少实例数,由调度器根据此配置进行弹性调度;
Override用于提供差异化修改Template中字段的能力;对于要下发的同一个资源对象,由于云厂商或集群版本等各种因素的影响,在不同的集群配置中可能会有所差异;例如deployment对象,其中某些字段在不同的Kubernetes集群中要求不一样,所以需要差异化配置这些字段。
实施例3:
本发明实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的基于Kubernetes的应用分布式多活方法。具体地,可以提供配有存储介质的***或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (3)

1.一种基于Kubernetes的应用分布式多活***,其特征在于,该***包括,
集群管理器,用于对多个不同区域及不同种类的集群进行统一管理;其中,集群管理器包括Cluster资源对象和集群控制器;
Cluster资源对象用于定义所管理的各种集群;
集群控制器用于监听Cluster资源对象,根据Cluster资源对象的变化来同步管理各种集群,从而能够实现对多个不同区域、不同种类的集群进行统一管理,支持动态集群接入和删除;
配置管理器,用于处理各种Kubernetes资源对象;其中,配置管理器包括Config资源对象和配置控制器;
Config资源对象用于定义要下发的资源对象的详细信息;
配置控制器用于监听Config资源对象,根据定义内容将Config资源对象同步下发到所管理的集群里;
其中,Config资源对象包括Template、Placement及Override;
Template用于定义要下发的资源对象的全部信息;
Placement用于定义资源对象要下发到所管理的哪些集群中,若不进行定义,则会同步下发到所管理的所有集群中;同时定义每个集群分布的最多及最少实例数,由调度器根据此配置进行弹性调度;
Override用于提供差异化修改Template中字段的能力;
调度器,用于应用在集群中的调度分布;其中,调度器用于应用在Kubernetes里的Deployment资源的调度分布,根据定义资源对象在每个集群中分布的最多及最少实例进行弹性调度,并根据集群的负载情况在集群间进行合理伸缩;当调度结果跟自定义的Override冲突时,该调度结果享有优先权;
域名解析器,用于各种集群之间的应用服务发现;其中,域名解析器用于各种集群之间的应用服务发现具体如下:
(1)、域名解析器对接到DNS服务商的服务器上;
(2)、应用服务被下发创建后,域名解析器会收集各集群中应用所对应ervice的信息,获取到相应的ip和域名组合;
(3)、将各集群服务的ip与对应域名自动配置到公网的DNS服务商的服务器上,以通过公网域名实现跨集群服务发现;
(4)、域名解析器对应用服务进行健康检查:
当集群故障或应用出现问题时,健康检查失败;
(5)、域名解析器更新DNS服务商的服务器,将故障应用的ip从DNS服务商的服务器里移除,实现故障自动切流。
2.一种基于Kubernetes的应用分布式多活方法,其特征在于,该方法是将应用服务同步分布调度到Kubernetes集群中,通过自动配置DNS服务商的服务器将多个Kubernetes集群的应用服务统一暴露出来,并自动对多个Kubernetes集群的应用进行健康检查,及时将故障应用从DNS服务商的服务器中踢出,实现故障应用自动切流,确保服务访问稳定性的同时最终实现应用服务的分布式多活;具体如下:
S1、集群管理器对多个不同区域及不同种类的集群进行统一管理,具体如下:
S101、集群管理器的Cluster资源对象定义所管理的各种集群;
S102、集群管理器的集群控制器监听Cluster资源对象,根据Cluster资源对象的变化来同步管理各种集群,实现对多个不同区域及不同种类的集群进行统一管理,同时支持动态集群接入与删除;
S2、配置管理器处理各种Kubernetes资源对象,具体如下:
S201、配置管理器的Config资源对象里定义要下发的资源对象的详细信息;其中,Config资源对象包括Template、Placement及Override;
Template用于定义要下发的资源对象的全部信息;
Placement用于定义资源对象要下发到所管理的哪些集群中,若不进行定义,则会同步下发到所管理的所有集群中;同时定义每个集群分布的最多及最少实例数,由调度器根据此配置进行弹性调度;
Override用于提供差异化修改Template中字段的能力;
S202、配置控制器会监听Config资源对象,根据里面的定义内容将Config资源对象同步下发到所管理的集群里;
S3、调度器负责应用在Kubernetes里的Deployment资源的调度分布,根据定义资源对象在每个集群中分布的最多及最少实例进行弹性调度,并根据集群的负载情况在集群间进行合理伸缩;
S4、域名解析器负责各个集群之间的应用服务发现;具体如下:
S401、域名解析器对接到DNS服务商的服务器上;
S402、应用服务被下发创建后,域名解析器会收集各集群中应用所对应ervice的信息,获取到相应的ip和域名组合;
S403、将各集群服务的ip与对应域名自动配置到公网的DNS服务商的服务器上,以通过公网域名实现跨集群服务发现;
S404、域名解析器对应用服务进行健康检查:
当集群故障或应用出现问题时,健康检查失败;
S405、域名解析器更新DNS服务商的服务器,将故障应用的ip从DNS服务商的服务器里移除,实现故障自动切流。
3.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如权利要求2所述的基于Kubernetes的应用分布式多活方法。
CN202110835439.6A 2021-07-23 2021-07-23 基于Kubernetes的应用分布式多活***及方法 Active CN113596190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110835439.6A CN113596190B (zh) 2021-07-23 2021-07-23 基于Kubernetes的应用分布式多活***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110835439.6A CN113596190B (zh) 2021-07-23 2021-07-23 基于Kubernetes的应用分布式多活***及方法

Publications (2)

Publication Number Publication Date
CN113596190A CN113596190A (zh) 2021-11-02
CN113596190B true CN113596190B (zh) 2023-05-26

Family

ID=78249131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110835439.6A Active CN113596190B (zh) 2021-07-23 2021-07-23 基于Kubernetes的应用分布式多活***及方法

Country Status (1)

Country Link
CN (1) CN113596190B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374692A (zh) * 2021-12-02 2022-04-19 浪潮云信息技术股份公司 一种多容器集群管理的实现方法及***
CN115145683B (zh) * 2022-06-22 2024-05-28 北京火山引擎科技有限公司 云服务实现方法及装置
CN115174364B (zh) * 2022-06-30 2024-07-02 济南浪潮数据技术有限公司 一种容灾场景下的数据还原方法、装置以及介质
CN116132366A (zh) * 2022-07-01 2023-05-16 马上消费金融股份有限公司 流量管理方法、装置、电子设备及存储介质
CN115061783A (zh) * 2022-07-22 2022-09-16 广东浪潮智慧计算技术有限公司 Kubernetes容器集群的服务配置方法及装置
CN116319676B (zh) * 2023-05-23 2023-10-20 阿里云计算有限公司 域名解析方法、设备、存储介质和***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647830A (zh) * 2013-12-13 2014-03-19 浪潮电子信息产业股份有限公司 一种集群管理***中多层次配置文件的动态管理方法
WO2019154394A1 (zh) * 2018-02-12 2019-08-15 中兴通讯股份有限公司 分布式数据库集群***、数据同步方法及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160259811A1 (en) * 2015-03-06 2016-09-08 Superna Business Consulting, Inc. Method and system for metadata synchronization
CN109189860A (zh) * 2018-10-19 2019-01-11 山东浪潮云信息技术有限公司 一种基于Kubernetes***的MySQL主备增量同步方法
CN110535831B (zh) * 2019-07-30 2022-02-01 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
CN110830546A (zh) * 2019-09-20 2020-02-21 平安科技(深圳)有限公司 基于容器云平台的可用域建设方法、装置、设备
US11706162B2 (en) * 2019-10-21 2023-07-18 Sap Se Dynamic, distributed, and scalable single endpoint solution for a service in cloud platform
CN112000434A (zh) * 2020-08-14 2020-11-27 苏州浪潮智能科技有限公司 一种基于Kubernetes动态管理服务治理规则配置方法和***
CN112181660A (zh) * 2020-10-12 2021-01-05 北京计算机技术及应用研究所 一种基于服务器集群的高可用方法
CN112764886B (zh) * 2021-01-29 2024-06-25 上海弘积信息科技有限公司 一种基于Kubernetes平台的负载均衡控制器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103647830A (zh) * 2013-12-13 2014-03-19 浪潮电子信息产业股份有限公司 一种集群管理***中多层次配置文件的动态管理方法
WO2019154394A1 (zh) * 2018-02-12 2019-08-15 中兴通讯股份有限公司 分布式数据库集群***、数据同步方法及存储介质

Also Published As

Publication number Publication date
CN113596190A (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN113596190B (zh) 基于Kubernetes的应用分布式多活***及方法
US20220019474A1 (en) Methods and apparatus to manage workload domains in virtual server racks
US10540211B2 (en) Elasticity for highly available applications
US8825864B2 (en) System and method for supporting a dynamic resource broker in a transactional middleware machine environment
JP6329547B2 (ja) クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法
US7237243B2 (en) Multiple device management method and system
US10915314B2 (en) Autonomous upgrade of deployed resources in a distributed computing environment
JP6658882B2 (ja) 制御装置、vnf配置先選択方法及びプログラム
CN105939290B (zh) 一种分配资源的方法及装置
CN108270726B (zh) 应用实例部署方法及装置
US8219611B2 (en) Systems and methods for providing a complete view of large computing networks
US8745124B2 (en) Extensible power control for an autonomically controlled distributed computing system
CN104360878A (zh) 一种应用软件部署的方法及装置
US11528186B2 (en) Automated initialization of bare metal servers
US9483258B1 (en) Multi-site provisioning of resources to software offerings using infrastructure slices
KR102328384B1 (ko) 관리형 클러스터 자동 프로비저닝 엔진 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체
CN110932914B (zh) 部署方法、部署装置、混合云***架构及计算机存储介质
CN112230987B (zh) 一种分布式模块化插件框架实现***及方法
US20230222006A1 (en) Container Orchestration System
CN105580007A (zh) 监控计算网络
CN112417051A (zh) 容器编排引擎资源管理方法及装置、可读介质及电子设备
JP2015191246A (ja) 通信システムおよび管理方法
CN111857735A (zh) 一种基于Rook部署Ceph的Crush创建方法及***
CN111367618A (zh) 基于docker的代码管理方法、***、终端及介质
CN110633085A (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