[发明专利]一种基于Kubernetes的云原生服务不间断的IP替换方法有效
申请号: | 202110164298.X | 申请日: | 2021-02-05 |
公开(公告)号: | CN113037881B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 赵凯麟;王志雄;韦克璐 | 申请(专利权)人: | 中国—东盟信息港股份有限公司 |
主分类号: | H04L61/5007 | 分类号: | H04L61/5007;H04L61/5053 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 王雪 |
地址: | 530200 广西壮*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 kubernetes 原生 服务 不间断 ip 替换 方法 | ||
1.一种基于Kubernetes的云原生服务不间断的IP替换方法,其特征在于,包括如下步骤:
S1.对Kubernetes中的api-server组件和kube-proxy组件进行修改;
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云原生集群使用的分布式数据库;
kube-proxy组件的修改内容包括:
kube-proxy工作时会通过kubernetes集群的api-server对service和endpoint进行监听,当service和endpoint两种资源发生变化,kube-proxy会对节点上的iptables规则进行更新;
为kube-proxy新增一个启动配置discarded-service-cidr-range,该配置项应被配置为旧的集群IP网段,使其能支持新旧两个集群IP的网段;
当kube-proxy监听到service发生修改,如果ClusterIP字段处于新cidr网段,并且ExternalIPs字段处于discarded-service-cidr-range所配置的旧cidr网段,kube-proxy会根据ExternalIPs的值生成新的iptables规则,用于保证流量依旧能通过旧的集群IP导入负载容器,同时也会根据ClusterIP值更新iptables规则,用于保证流量能通过新的集群IP导入负载容器;
S2.将所有工作节点上的kube-proxy组件替换为步骤S1修改的版本,并将kube-proxy的discarded-service-cidr-range配置项设置为旧的集群IP网段;
S3.将控制节点上的api-server组件替换为步骤S1修改的版本,并将api-server的集群IP网段配置项设置为新的集群IP网段;
S4.批量修改所有服务的clusterIP字段值为空字符串,提交到api-server;所述步骤S4中,api-server接收到clusterIP字段值为空字符串的修改服务请求后,api-server会将旧的clusterIP值赋值给externalIPs字段,并从新的cidr网段中分配一个新的IP赋值给clusterIP字段,并将更新后的service更新至etcd;
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替换方法,其特征在于,kube-proxy运行在Kubernetes云原生集群中所有的工作节点上,负责service的实现工作,service的实现方法主要有3种:userspace、iptables、ipvs。
3.如权利要求1所述的基于Kubernetes的云原生服务不间断的IP替换方法,其特征在于,所述步骤S5结束后,kubernetes集群内可以通过新旧clusterIP都能访问到服务,保证了服务的不间断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国—东盟信息港股份有限公司,未经中国—东盟信息港股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110164298.X/1.html,转载请声明来源钻瓜专利网。