Kubernetes集群中配置文件与Pod的同步方法技术

技术编号:21251542 阅读:31 留言:0更新日期:2019-06-01 09:25
本发明专利技术揭示了一种Kubernetes集群中配置文件与Pod的同步方法,包括以下步骤:配置用于监听Pod所对应的配置文件是否发生变化的监听器;设置触发Pod与配置文件执行同步操作的初始触发变量;监听器将配置文件的监听结果同步至API Server;Kubelet组件所内置的标签选择器不等待当前配置文件的上一个版本的配置文件与Pod之间的同步操作是否完成,而将所述当前配置文件注入至Pod中,以完成Pod与当前配置文件之间的同步操作,并恢复初始触发变量。通过本发明专利技术,减少了Pod与配置文件之间频繁无效的同步操作,从而实现了Kubernetes集群中配置文件与Pod进行合理且实时的同步操作,在尽量减少Kubernetes集群性能损失的同时能够兼顾Kubernetes集群的高可用性,以显著地提高了用户体验。

Synchronization Method of Configuration File and Pod in Kubernetes Cluster

The invention discloses a method for synchronizing configuration files and Pods in Kubernetes cluster, which includes the following steps: configuring a listener to monitor whether the configuration files corresponding to Pod have changed; setting an initial trigger variable to trigger the synchronization operation between Pod and configuration files; synchronizing the monitoring results of configuration files to API Server; and selecting the labels built in Kubelet components. Instead of waiting for the synchronization operation between the previous version of the current configuration file and the Pod to be completed, the device injects the current configuration file into the Pod to complete the synchronization operation between the Pod and the current configuration file and restore the initial trigger variable. The invention reduces the frequent and invalid synchronization operation between the Pod and the configuration file, thus realizing the reasonable and real-time synchronization operation between the configuration file and the Pod in the Kubernetes cluster, while minimizing the performance loss of the Kubernetes cluster, taking into account the high availability of the Kubernetes cluster, so as to significantly improve the user experience.

【技术实现步骤摘要】
Kubernetes集群中配置文件与Pod的同步方法
本专利技术涉及云计算
,尤其涉及一种Kubernetes集群中配置文件与Pod的同步方法。
技术介绍
Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统。Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放在以容器为中心的原语上进行自助运营。Kubernetes也提供稳定、兼容的基础(平台),用于构建定制化的workflows和更高级的自动化任务。Kubernetes具备完善的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建负载均衡器、故障发现和自我修复能力、服务滚动升级和在线扩容、可扩展的资源自动调度机制、多粒度的资源配额管理能力。Kubernetes还提供完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。在Kubernetes集群中,Pod是所有业务类型的基础,它是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及如何运行的规范。在Pod中,所有容器都被同一安排和调度,并运行在共享的上下文中。对于具体应用而言,Pod是它们的逻辑主机,Pod包含业务相关的多个应用容器(Container)。基于Kubernetes所构建的计算机集群(以下简称Kubernetes集群)中,当某个计算节点(计算节点中包含一个或者多个Pod)需要维护或者业务整合或者原有节点负载过高时,就需要将该计算节点中的Pod迁移至其他计算节点中;此外,kubernetes集群的项目持续集成(gitlab+harbor+Jenkins)自动化构建部署(CICD)流程事例等场景中需要对配置文件进行更新。当对配置文件进行更新时必须与Pod保持同步,否则会导致Pod不可用,从而导致基于Pod所形成的应用或者服务提供上层服务。同时,如果按照设定时间,例如以十秒为同步周期对Pod与配置进行同步操作的话,则会极大地影响基于Kubernetes所构建的计算机集群的系统性能,严重导致降低了用户体验。
技术实现思路
本专利技术的目的在于揭示一种Kubernetes集群中配置文件与Pod的同步方法,以实现Kubernetes集群中配置文件与Pod进行合理且实时的同步更新操作,在尽量减少Kubernetes集群性能损失的同时兼顾Kubernetes集群的高可用性,以提高用户体验。为实现上述目的,本专利技术揭示了一种Kubernetes集群中配置文件与Pod的同步方法,包括以下步骤:配置用于监听Pod所对应的配置文件是否发生变化的监听器;设置触发Pod与配置文件执行同步操作的初始触发变量;监听器将配置文件的监听结果同步至APIServer;Kubelet组件所内置的标签选择器不等待当前配置文件的上一个版本的配置文件与Pod之间的同步操作是否完成,而将所述当前配置文件注入至Pod中,以完成Pod与当前配置文件之间的同步操作,并恢复初始触发变量。作为本专利技术的进一步改进,所述监听器至少形成于ETCD组件中。作为本专利技术的进一步改进,还包括:判断当前配置文件是否与上一个版本的配置文件发生变化;若是,将所述当前配置文件注入至Pod中,以通过Kubelet组件执行Pod与当前配置文件之间的同步操作;若否,将上一个版本的配置文件注入至Pod中,以通过Kubelet组件执行Pod与上一个版本的配置文件之间的同步操作。作为本专利技术的进一步改进,所述标签选择器通过Pod所形成的标签与搜索值选定Pod。作为本专利技术的进一步改进,当Pod与配置文件之间的同步操作执行完毕之后,还包括:判断Pod所对应的当前配置文件是否与ETCD组件中所保存的与所述Pod对应的配置文件相匹配;若是,则判定配置文件与Pod之间的同步操作已完成;若否,则判定配置文件与Pod之间的同步操作未完成。作为本专利技术的进一步改进,所述配置文件的初始触发变量的设定为FALSE,并仅当配置文件的触发变量为TRUE时,由Kubelet组件执行Pod与配置文件的同步操作。作为本专利技术的进一步改进,当Pod与配置文件之间完成同步操作后,还包括:将配置文件的初始触发变量重新设置为FALSE。作为本专利技术的进一步改进,还包括:当监听器监听到ETCD组件中的配置文件中发生变化时,由监听器向Kubelet组件下发中止执行配置文件与Pod执行同步操作的指令,以通过APIServer将当前配置文件注入至Pod中。作为本专利技术的进一步改进,还包括:将Pod发送的同步操作记录及同步结果保存至与Pod耦连的日志系统中。作为本专利技术的进一步改进,所述配置文件由ConfigMap及Secret共同描述。与现有技术相比,本专利技术的有益效果是:在本专利技术中,Kubelet组件所内置的标签选择器不等待当前配置文件的上一个版本的配置文件与Pod之间的同步操作是否完成,而将所述当前配置文件注入至Pod中,以完成Pod与当前配置文件之间的同步操作,减少了Pod与配置文件之间频繁无效的同步操作,从而实现了Kubernetes集群中配置文件与Pod进行合理且实时的同步操作,在尽量减少Kubernetes集群性能损失的同时能够兼顾Kubernetes集群的高可用性,以显著地提高了用户体验。附图说明图1为运行本专利技术Kubenetes集群中配置文件与Pod的同步方法的Kubenetes集群的架构图;图2为本专利技术Kubernetes集群中配置文件与Pod的同步方法的整体流程图。具体实施方式下面结合附图所示的各实施方式对本专利技术进行详细说明,但应当说明的是,这些实施方式并非对本专利技术的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本专利技术的保护范围之内。实施例一:请参图1与图2所示出的本专利技术Kubenetes集群中配置文件与Pod的同步方法的一种具体实施方式。在本实施例中,Kubenetes集群由主节点10与从节点20组成,多个从节点20构成一个受控于主节点10的从节点池。ETCD组件104、APIServer101、控制器103及调度器102部署于主节点10中。主节点10关联至从形成一个或者多个Pod的从节点(Node)20,从节点20中配置Kubelet组件201、及多个Pod,在本实施例中范例性的示出了Pod202、Pod203及Pod204。ETCD组件104用于保存Kubenetes集群所有的网络配置和对象的状态信息,并基于RAFT一致性算法来实现Kubenetes集群中各个节点或者Pod状态的一致性。从节点20中包含多个Node(节点),每个Node由一个或者多个Pod组成。Node是Kubernetes集群的工作负载节点,主节点10为其分配工作,当某个Node宕机时,主节点10会将其工作负载自动转移到其他节点。例如,将Pod202的工作负载动态迁移至Pod203或者Pod204。Pod202~Pod204作为Kubernetes集群中调度的最小单元,可通过位于各个Node中所设置kube-proxy负责服务的实现。外部网络(Internet)通过防火墙(Firewalls)接入kube-proxy,以通过kube本文档来自技高网
...

【技术保护点】
1.Kubernetes集群中配置文件与Pod的同步方法,其特征在于,包括以下步骤:配置用于监听Pod所对应的配置文件是否发生变化的监听器;设置触发Pod与配置文件执行同步操作的初始触发变量;监听器将配置文件的监听结果同步至API Server;Kubelet组件所内置的标签选择器不等待当前配置文件的上一个版本的配置文件与Pod之间的同步操作是否完成,而将所述当前配置文件注入至Pod中,以完成Pod与当前配置文件之间的同步操作,并恢复初始触发变量。

【技术特征摘要】
1.Kubernetes集群中配置文件与Pod的同步方法,其特征在于,包括以下步骤:配置用于监听Pod所对应的配置文件是否发生变化的监听器;设置触发Pod与配置文件执行同步操作的初始触发变量;监听器将配置文件的监听结果同步至APIServer;Kubelet组件所内置的标签选择器不等待当前配置文件的上一个版本的配置文件与Pod之间的同步操作是否完成,而将所述当前配置文件注入至Pod中,以完成Pod与当前配置文件之间的同步操作,并恢复初始触发变量。2.根据权利要求1所述的同步方法,其特征在于,所述监听器至少形成于ETCD组件中。3.根据权利要求2所述的同步方法,其特征在于,还包括:判断当前配置文件是否与上一个版本的配置文件发生变化;若是,将所述当前配置文件注入至Pod中,以通过Kubelet组件执行Pod与当前配置文件之间的同步操作;若否,将上一个版本的配置文件注入至Pod中,以通过Kubelet组件执行Pod与上一个版本的配置文件之间的同步操作。4.根据权利要求1所述的同步方法,其特征在于,所述标签选择器通过Pod所形成的标签与搜索值选定Pod。5.根据权利要求1所述的同步方法,其特征在于,当Pod与配置文...

【专利技术属性】
技术研发人员:许广彬肖婷谭瑞忠郭晓毕宏伟
申请(专利权)人:无锡华云数据技术服务有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1