[发明专利]一种Kubernetes集群网络和OpenStack网络的打通方法有效
申请号: | 202010901111.5 | 申请日: | 2020-09-01 |
公开(公告)号: | CN112035216B | 公开(公告)日: | 2023-02-21 |
发明(设计)人: | 陈正伟;张晖;高传集;张东海;王刚 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;H04L41/0803;H04L67/10;H04L47/10;H04L12/46 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 kubernetes 集群 网络 openstack 打通 方法 | ||
1.一种Kubernetes集群网络和OpenStack网络的打通方法,其特征在于,该方法是通过在Kubernetes集群中配置网络控制器以及一台转发机器,将Pod的流量转发到对应的OpenStack网络中,使Kubernetes集群的Pod流量和OpenStack网络打通,进行访问;具体如下:
在Kubernetes集群中,在每一个节点上部署网络控制器,并在Pod上添加注解,实现流量的控制;其中,Pod上添加的注解包括两个,一个是表示开启访问网络功能;另一个是添加在虚拟机中绑定上的网卡名称;在Pod上添加注解后,具体如下:
获取到Pod的Ip,在Pod所在节点和转发机器上设置一条IP隧道,这两个节点通过IP隧道进行通信;
在Pod所在节点和转发机器上分别设置不同的路由规则;
Pod所在节点设置的是从这个Pod发出的流量,将该流量转发到配置好的隧道当中;其中,在转发节点设置的规则是:若流量是从隧道中发出,则将该流量转发到配置的网卡上;隧道设置具体如下:
设置IP隧道:设Pod所在节点IP是A1,转发机器的IP是A2;Pod的IP是P1,转发节点上绑定的网卡是Eth1;使用的IP in IP的隧道也叫做IPIP隧道;IPIP隧道是一种三层隧道,通过把原来的IP包封装在新的IP包里面,来创建隧道传输;在Pod所在节点设置隧道叫做Tun1,隧道的Local IP是A1,Remote IP是A2;同时设置隧道的IP是B1,隧道另外一端的IP是B2;在转发节点同样也设置隧道Tun2,隧道的Local IP是A2,Remote IP是A1,并且设置隧道的IP是B2,另外一段的IP是B1;设置完成后,Pod所在节点和转发机器通过隧道的IP,也就是B1和B2这两个IP进行通信;
设置Pod所在节点路由:获取Pod所在IP P1,通过Linux内核中的路由表设置路由规则从P1发出的流量被转发到隧道Tun1当中;Pod的流量被转发到Tun1后,从隧道的另一端,即转发机器的Tun2中出来;
设置转发机器的路由:设置路由规则,从Tun2中出来的流量,即IP是B2的流量,转发到网卡Eht1中,同时为了使返回的流量能够正确的找到来源,使用iptables将Eth1出去的流量进行SNAT操作,重写源IP,防止流量发出去接收不到请求的情况;
在Kubernetes集群外创建一台虚拟机作为转发机器,该转发机器与Kubernetes集群在同一个网络内;
在转发机器与Kubernetes集群所在的网络中创建网卡,并将网卡绑定到转发机器中并配置相应的路由规则,同时记录网卡名称;转发机器的配置具体如下:
在转发机器中的网络控制器监听Kubernetes集群的APIServer,随时获取Pod的新建删除状态;
当一个Pod创建时,先要检查Pod的注解,判断是否需要访问OpenStack网络:
若注解中设置了相关信息,则根据注解的信息设置相应的隧道和路由规则;
若注解中设置了规则的Pod被删除,则在转发机器上删除相应隧道和路由规则;
Kubernetes集群中的网络控制器将需要访问网络的Pod的流量转发到转发机器中,转发机器判断流量进入的网卡并将流量转入对应的网卡;其中,Kubernetes集群节点配置具体如下:
在Kubernetes集群中通过网络控制器监听APIServer,获取Pod的动态信息;
在Kubernetes集群中的每个节点上都需要部署一个网络控制器;
当符合条件的Pod被创建后,先判断一下Pod是不是在当前的节点:
若在当前节点,则根据Pod的注解信息设置相应的隧道和路由规则,当Pod删除或者调度时,再将隧道和路由信息删除。
2.根据权利要求1所述的Kubernetes集群网络和OpenStack网络的打通方法,其特征在于,所述网卡的创建和绑定均是通过调用OpenStack的接口实现。
3.一种电子设备,其特征在于,包括:存储器和至少一个处理器;
其中,所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至2任一项所述的Kubernetes集群网络和OpenStack网络的打通方法。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行时,实现如权利要求1至2中所述的Kubernetes集群网络和OpenStack网络的打通方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010901111.5/1.html,转载请声明来源钻瓜专利网。