[发明专利]一种基于Kubernetes的云原生服务不间断的IP替换方法有效
申请号: | 202110164298.X | 申请日: | 2021-02-05 |
公开(公告)号: | CN113037881B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 赵凯麟;王志雄;韦克璐 | 申请(专利权)人: | 中国—东盟信息港股份有限公司 |
主分类号: | H04L61/5007 | 分类号: | H04L61/5007;H04L61/5053 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 王雪 |
地址: | 530200 广西壮*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 kubernetes 原生 服务 不间断 ip 替换 方法 | ||
本发明公开了一种基于Kubernetes的云原生服务不间断的IP替换方法,属于云计算技术领域。包括如下步骤:对Kubernetes中的api‑server组件和kube‑proxy组件进行修改;将所有工作节点上的kube‑proxy组件替换为步骤S1修改的版本;将控制节点上的api‑server组件替换为步骤S1修改的版本;批量修改所有服务的clusterIP字段值为空字符串;批量滚动重启所有容器组;将所有工作节点上的kube‑proxy组件恢复为原始版本。本发明能够提供了一个时间窗口,该时间窗口内新旧集群IP都能提供服务,让服务的客户端无感知,保证了应用的高可靠性和业务的连续性。
技术领域
本发明属于云计算技术领域,尤其是一种基于Kubernetes的云原生服务不间断的IP替换方法。
背景技术
通常在Kubernetes云原生集群中,存在名为服务(service)的资源,该资源是集群中最常见的一种资源类型,主要负责负载均衡和服务发现等基础功能。每个服务通常都会被分配一个集群IP(ClusterIP),集群IP是在一个固定的cidr网段内分配,该网段在集群部署阶段进行配置。
在一些特殊情况下,会想要修改上述的cidr网段范围,在现有的方案下,想要修改集群IP网段并生效,一般会用重建集群的方案,并迁移负载,或者采用修改集群IP网段配置,重建所有服务的方案,这两种方案都会造成服务一段时间的不可用,这在某些场景下是不可接受的。
发明内容
本发明的发明目的是提供一种基于Kubernetes的云原生服务不间断的IP替换方法,其能够提供了一个时间窗口,该时间窗口内新旧集群IP都能提供服务,让服务的客户端无感知,保证了应用的高可靠性和业务的连续性。
为达提上述目的,本发明所采用的技术方案是:
一种基于Kubernetes的云原生服务不间断的IP替换方法,包括如下步骤:
S1.对Kubernetes中的api-server组件和kube-proxy组件进行修改;
S2.将所有工作节点上的kube-proxy组件替换为步骤S1修改的版本,并将kube-proxy的discarded-service-cidr-range配置项设置为旧的集群IP网段;
S3.将控制节点上的api-server组件替换为步骤S1修改的版本,并将api-server的集群IP网段配置项设置为新的集群IP网段;
S4.批量修改所有服务的clusterIP字段值为空字符串,提交提api-server;
S5.等待kube-proxy生成了所有服务的新旧clusterIP的iptables规则;
S6.批量滚动重启所有容器组;
S7.将所有工作节点上的kube-proxy组件恢复为原始版本,并将kube-proxy的discarded-service-cidr-range配置项清空;
S8.将控制节点上的api-server组件恢复为原始版本;
S9.将步骤S4中所有修改的服务中的externalIPs字段字字。
进一步的,所述步骤S1中,api-server组件的修改内容包括:
在当前的api-server实现中,当接收提service的修改请求后,ClusterIP字段是不可修改的,既不能修改成别的IP也不能清空,否则请求会被拦截,并报错;
当api-server收提service修改的请求后,允许修改后的service的ClusterIP字段值为空;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国—东盟信息港股份有限公司,未经中国—东盟信息港股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110164298.X/2.html,转载请声明来源钻瓜专利网。