[发明专利]一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法有效
| 申请号: | 201911024826.0 | 申请日: | 2019-10-25 |
| 公开(公告)号: | CN111049796B | 公开(公告)日: | 2022-01-07 |
| 发明(设计)人: | 涂勇 | 申请(专利权)人: | 中国通信服务股份有限公司 |
| 主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/10;H04L12/46;H04L49/354 |
| 代理公司: | 成都顶峰专利事务所(普通合伙) 51224 | 代理人: | 杨国瑞 |
| 地址: | 100000 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 open vswitch 实现 overlay 租户 cni 容器 网络 方法 | ||
1.一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法,其特征在于,包括如下步骤:
S101.在K8s集群中的各个node节点上安装CCS-SDN服务程序,其中,所述K8s集群为K8s1.6以上版本的集群且在各个node节点上运行有Open vSwitch,所述CCS-SDN服务程序为基于CCS集成开发环境而编写得到的软件定义网络协议;
S102.设置所述CCS-SDN服务程序的如下网络参数:Network、HostSubnetLength、ServiceNetwork和PluginName,其中,Network用于设置整个K8s集群中Pod网络的网段,HostSubnetLength用于设置各个node节点的子网长度,ServiceNetwork用于设置K8s集群中service的网段,该网段与K8s集群中由API server的参数service-cluster-ip-range所指定的网络保持一致,PluginName用于设置租户模式且设置为多租户模式;
S103.将所述CCS-SDN服务程序作为K8s集群中的daemonset运行起来;
S104.当K8s集群通过调度算法在某个node节点上启动CNI容器应用时,按照如下步骤S401~S402完成K8s集群的网络隔离:
S401.调度node节点上的kubelet来查看CNI配置文件,然后根据该CNI配置文件调用合适的CNI插件,其中,所述kubelet在调用CNI插件时会配置环境变量以支持CCS-SDN服务程序的二进制代码;
S402.CCS-SDN服务程序在接收环境变量后,创建相应的veth pair对,并使一端与CNI容器的网络命名空间打通,另一端与Open vSwitch的Br0连通,同时调用Open vSwitch交换机的ovs-vsctl指令将CNI容器的主机端虚拟网卡加入Open vSwitch的Br0,以及调用OpenvSwitch交换机的ovs-ofctl指令来配置交换机的OpenFlow流表,以及对出入交换机对应端口的流量打上或者剥离对应的VxLAN ID,并且对不同VxLAN ID的数据流量互访进行直接drop。
2.如权利要求1所述的一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法,其特征在于,在步骤S101中,使用yaml文件一键安装所述CCS-SDN服务程序,并通过获取的Pod和node运行状态来确认是否安装成功。
3.如权利要求1所述的一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法,其特征在于,在步骤S102之前,搭建一个ETCD服务器或和K8s集群的API server共用一个ETCD服务器,其中,所述ETCD服务器存储有整个K8s集群的Pod网络规划且能够接受各个node节点的访问。
4.如权利要求1所述的一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法,其特征在于,在步骤S103之前,在K8s集群的各个node节点上设置访问K8s集群中APIserver的环境变量,其中,所述环境变量用于使所述CCS-SDN服务程序能够与API server进行通信。
5.如权利要求1所述的一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法,其特征在于,在步骤S103之前,若K8s集群使用的是非加密方式,则还设置KUBERNETES_MASTER,并把如下两个变量apiserver_vip和apiserver_port分别替换成系统的APIserver服务的ip和port。
6.如权利要求1所述的一种基于Open vSwitch实现Overlay多租户CNI容器网络的方法,其特征在于,在步骤S103之后且在K8s集群的Kubelet完成容器的创建或者删除后,调用CNI插件进行容器网络的设置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国通信服务股份有限公司,未经中国通信服务股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911024826.0/1.html,转载请声明来源钻瓜专利网。





