System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 实现Ingress控制器更新平滑迁移的方法、系统、设备及存储介质技术方案_技高网

实现Ingress控制器更新平滑迁移的方法、系统、设备及存储介质技术方案

技术编号:40963027 阅读:3 留言:0更新日期:2024-04-18 20:42
本发明专利技术提供了一种实现Ingress控制器更新平滑迁移的方法、系统、设备及存储介质,方法包括对Kubernetes系统中Ingress控制器的更新事件进行监听;当监听到所述Ingress控制器发生更新时,通过Terraform工具在Kubernetes系统中创建新节点并给新节点注入相应的污点和标签;之后通过Terraform工具在Kubernetes系统中新增Ingress控制器副本并使Ingress控制器副本落在创建的新节点上,接着通过Terraform工具在Kubernetes系统中创建新负载均衡后端服务器并设置前负载均衡后端服务器的权重为0;再接着通过Terraform工具移除Kubernetes系统中前节点的污点和标签以及前Ingress控制器;最后通过Terraform工具移除Kubernetes系统中的前负载均衡后端服务器。本发明专利技术利用Terraform工具实现了Ingress控制器平滑迁移过渡,减轻了Ingress控制器更新对集群访问请求的影响。

【技术实现步骤摘要】

本专利技术涉及服务器组件迁移,尤其涉及一种实现ingress控制器更新平滑迁移的方法、系统、设备及存储介质。


技术介绍

1、目前kubernetes是云原生的主流,而kubernetes使用的主流网关是nginx,其几乎承载着集群内服务访问的所有流量。我们可以通过ingress资源来配置不同的转发规则,从而达到根据不同的规则设置访问集群内不同的service所对应的后端pod。为了使得nginxingress资源正常工作,集群中必须要有个nginx ingress controller(即ingress控制器)来解析nginx ingress的转发规则。但是当用户在升级或者滚动更新nginx ingresscontroller,在其工作期间会有流量转发,这过程就会导致少量的链接被中断,容易影响用户使用体验或者程序正常的任务执行。

2、因此,现有技术还有待于改进和发展。


技术实现思路

1、本专利技术提供了一种实现ingress控制器更新平滑迁移的方法、系统、设备及存储介质,本专利技术的主要目的在于解决现有技术所存在
技术介绍
中所提到的技术问题。

2、本专利技术第一方面提供了一种实现ingress控制器更新平滑迁移的方法,用于kubernetes系统,包括:

3、对kubernetes系统中ingress控制器的更新事件进行监听;

4、当监听到所述ingress控制器发生更新时,通过terraform工具在所述kubernetes系统中创建新节点并给所述新节点注入相应的污点和标签;

5、之后通过所述terraform工具在所述kubernetes系统中新增ingress控制器副本,并使所述ingress控制器副本落在创建的所述新节点上;

6、接着通过所述terraform工具在所述kubernetes系统中创建新负载均衡后端服务器,并设置前负载均衡后端服务器的权重为0;

7、再接着通过所述terraform工具移除所述kubernetes系统中前节点的污点和标签以及前ingress控制器;

8、最后通过所述terraform工具移除所述kubernetes系统中的所述前负载均衡后端服务器。

9、在本专利技术第一方面一种可选的实施方式中,所述当监听到所述ingress控制器发生更新时,通过terraform工具在所述kubernetes系统中创建新节点并给所述新节点注入相应的污点和标签包括:

10、当监听到所述ingress控制器发生更新时,通过terraform工具在所述kubernetes系统中创建与前节点数量相同的新节点,并基于所述前节点的污点和标签信息为每个所述新节点注入相应的污点和标签。

11、在本专利技术第一方面一种可选的实施方式中,所述之后通过所述terraform工具在所述kubernetes系统中新增ingress控制器副本,并使所述ingress控制器副本落在创建的所述新节点上包括:

12、之后通过所述terraform工具在所述kubernetes系统中新增与所述新节点数量相同的ingress控制器副本,并使新增的各所述ingress控制器副本分别部署到1个所述新节点上。

13、在本专利技术第一方面一种可选的实施方式中,所述接着通过所述terraform工具在所述kubernetes系统中创建新负载均衡后端服务器,并设置前负载均衡后端服务器的权重为0包括:

14、接着通过所述terraform工具在所述kubernetes系统中基于调度需求创建新负载均衡后端服务器及各所述新负载均衡后端服务器之间的权重比例,并设置前负载均衡后端服务器的权重为0。

15、在本专利技术第一方面一种可选的实施方式中,所述对kubernetes系统中ingress控制器的更新事件进行监听包括:

16、对kubernetes系统中ingress控制器的升级事件或滚动更新事件进行监听。

17、本专利技术第二方面提供了一种实现ingress控制器更新平滑迁移的kubernetes系统,所述实现ingress控制器更新平滑迁移的kubernetes系统包括:

18、监听模块,用于对kubernetes系统中ingress控制器的更新事件进行监听;

19、节点创建模块,用于当监听到所述ingress控制器发生更新时,通过terraform工具在所述kubernetes系统中创建新节点并给所述新节点注入相应的污点和标签;

20、副本创建模块,用于之后通过所述terraform工具在所述kubernetes系统中新增ingress控制器副本,并使所述ingress控制器副本落在创建的所述新节点上;

21、权重配置模块,用于接着通过所述terraform工具在所述kubernetes系统中创建新负载均衡后端服务器,并设置前负载均衡后端服务器的权重为0;

22、前节点和控制器移除模块,用于再接着通过所述terraform工具移除所述kubernetes系统中前节点的污点和标签以及前ingress控制器;

23、前负载服务器移除模块,用于最后通过所述terraform工具移除所述kubernetes系统中的所述前负载均衡后端服务器。

24、在本专利技术第二方面一种可选的实施方式中,所述节点创建模块具体用于,当监听到所述ingress控制器发生更新时,通过terraform工具在所述kubernetes系统中创建与前节点数量相同的新节点,并基于所述前节点的污点和标签信息为每个所述新节点注入相应的污点和标签。

25、在本专利技术第二方面一种可选的实施方式中,所述副本创建模块具体用于,通过所述terraform工具在所述kubernetes系统中新增与所述新节点数量相同的ingress控制器副本,并使新增的各所述ingress控制器副本分别部署到1个所述新节点上。

26、本专利技术第三方面提供了一种实现ingress控制器更新平滑迁移的kubernetes设备,所述kubernetes设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;

27、所述至少一个处理器调用所述存储器中的所述指令,以使得所述kubernetes集群执行如上述任一项所述的实现ingress控制器更新平滑迁移的方法。

28、本专利技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的实现ingress控制器更新平滑迁移的方法。

29、有益效果:本专利技术提供了一种实现ingress控制器更新平滑迁移的方法、系统、设备及存储介质,方法包括对kubernetes系统中ingress控制器的更新事件进行监听;当监听到所述ingress控制器发生更新时,通过terraf本文档来自技高网...

【技术保护点】

1.一种实现Ingress控制器更新平滑迁移的方法,用于Kubernetes系统,其特征在于,包括:

2.根据权利要求1所述的实现Ingress控制器更新平滑迁移的方法,其特征在于,所述当监听到所述Ingress控制器发生更新时,通过Terraform工具在所述Kubernetes系统中创建新节点并给所述新节点注入相应的污点和标签包括:

3.根据权利要求1所述的实现Ingress控制器更新平滑迁移的方法,其特征在于,所述之后通过所述Terraform工具在所述Kubernetes系统中新增Ingress控制器副本,并使所述Ingress控制器副本落在创建的所述新节点上包括:

4.根据权利要求1所述的实现Ingress控制器更新平滑迁移的方法,其特征在于,所述接着通过所述Terraform工具在所述Kubernetes系统中创建新负载均衡后端服务器,并设置前负载均衡后端服务器的权重为0包括:

5.根据权利要求1所述的实现Ingress控制器更新平滑迁移的方法,其特征在于,所述对Kubernetes系统中Ingress控制器的更新事件进行监听包括:

6.一种实现Ingress控制器更新平滑迁移的Kubernetes系统,其特征在于,所述实现Ingress控制器更新平滑迁移的Kubernetes系统包括:

7.根据权利要求6所述的实现Ingress控制器更新平滑迁移的Kubernetes系统,其特征在于,所述节点创建模块具体用于,当监听到所述Ingress控制器发生更新时,通过Terraform工具在所述Kubernetes系统中创建与前节点数量相同的新节点,并基于所述前节点的污点和标签信息为每个所述新节点注入相应的污点和标签。

8.根据权利要求6所述的实现Ingress控制器更新平滑迁移的Kubernetes系统,其特征在于,所述副本创建模块具体用于,通过所述Terraform工具在所述Kubernetes系统中新增与所述新节点数量相同的Ingress控制器副本,并使新增的各所述Ingress控制器副本分别部署到1个所述新节点上。

9.一种实现Ingress控制器更新平滑迁移的Kubernetes设备,其特征在于,所述Kubernetes集群包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;

10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的实现Ingress控制器更新平滑迁移的方法。

...

【技术特征摘要】

1.一种实现ingress控制器更新平滑迁移的方法,用于kubernetes系统,其特征在于,包括:

2.根据权利要求1所述的实现ingress控制器更新平滑迁移的方法,其特征在于,所述当监听到所述ingress控制器发生更新时,通过terraform工具在所述kubernetes系统中创建新节点并给所述新节点注入相应的污点和标签包括:

3.根据权利要求1所述的实现ingress控制器更新平滑迁移的方法,其特征在于,所述之后通过所述terraform工具在所述kubernetes系统中新增ingress控制器副本,并使所述ingress控制器副本落在创建的所述新节点上包括:

4.根据权利要求1所述的实现ingress控制器更新平滑迁移的方法,其特征在于,所述接着通过所述terraform工具在所述kubernetes系统中创建新负载均衡后端服务器,并设置前负载均衡后端服务器的权重为0包括:

5.根据权利要求1所述的实现ingress控制器更新平滑迁移的方法,其特征在于,所述对kubernetes系统中ingress控制器的更新事件进行监听包括:

6.一种实现ingress控制器更新平滑迁移的kubernetes系统,其特征在于,所述实现ingress控制器更...

【专利技术属性】
技术研发人员:李俊葳兰辉林举扬
申请(专利权)人:深圳市闪剪智能科技有限公司
类型:发明
国别省市:

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

1