【Opencontrail】对接k8s基本原理

Opencontrail基于CNI规范实现了自己的CNI插件,Kubelet在调用CNI接口时调用SDN-CNI-Plugin生成对应的veth pair容器端口,veth一端在Pod中,另一端在Opencontrail的SDN-NVE-Agent中,所以Pod的所有通信流量全部被Opencontrail系统接管。同时,Opencontrail使用SDN-Kube-Manager监听K8S API,将K8S的模型转换为Opencontrail模型。

K8S中有关网络重要的几个功能在Opencontrail中实现原理如下:

Service - 使用ECMP实现负载均衡,同一个service对应的IP前缀有多个下一跳,每个下一跳对应于service的endpoint;

NetworkPolicy – 使用安全组实现,具体的安全组的匹配在各个NVE中,Opencontrail的安全组比起iptables性能更高;

Namespace – Opencontrail为每个ns创建一个租户,隔离的租户通过安全组来实现;

Ingress – 基于内部的Haproxy实现,haproxy根据ingress的path分发到不同的service节点;

DNS – 复用K8s原生DNS Service,每个pod网络均可以访问DNS。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值