【技术实现步骤摘要】
一种基于Kubernetes的云原生服务不间断的IP替换方法
[0001]本专利技术属于云计算
,尤其是一种基于Kubernetes的云原生服务不间断的IP替换方法。
技术介绍
[0002]通常在Kubernetes云原生集群中,存在名为服务(service)的资源,该资源是集群中最常见的一种资源类型,主要负责负载均衡和服务发现等基础功能。每个服务通常都会被分配一个集群IP(ClusterIP),集群IP是在一个固定的cidr网段内分配,该网段在集群部署阶段进行配置。
[0003]在一些特殊情况下,会想要修改上述的cidr网段范围,在现有的方案下,想要修改集群IP网段并生效,一般会用重建集群的方案,并迁移负载,或者采用修改集群IP网段配置,重建所有服务的方案,这两种方案都会造成服务一段时间的不可用,这在某些场景下是不可接受的。
技术实现思路
[0004]本专利技术的专利技术目的是提供一种基于Kubernetes的云原生服务不间断的IP替换方法,其能够提供了一个时间窗口,该时间窗口内新旧集群IP都 ...
【技术保护点】
【技术特征摘要】
1.一种基于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字段字字。2.一种如权利要求1的基于Kubernetes的云原生服务不间断的IP替换方法,其特征在于,所述步骤S1中,api
‑
server组件的修改内容包括:在当前的api
‑
server实现中,当接收提service的修改请求后,ClusterIP字段是不可修改的,既不能修改成别的IP也不能清空,否则请求会被拦截,并报错;当api
‑
server收提service修改的请求后,允许修改后的service的ClusterIP字段值为空;当api
‑
server收提clusterIP字段值为空的service修改请求后,api
‑
server会将旧的clusterIP值赋值给externalIPs字段,并从新的cidr网段中分配一个新的IP赋值给clusterIP字段,并将更新后的service更新至etcd,其中etcd是kubernetes云原生...
【专利技术属性】
技术研发人员:赵凯麟,王志雄,韦克璐,
申请(专利权)人:中国—东盟信息港股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。