k8s-ovs 基于 openvswitch 的 SDN 服务 k8s-ovs

at28997146 • 4197 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
k8s-ovs是一个使用[openvswitch](http://openvswitch.org/)为[K8S](https://kubernetes.io/)提供SDN功能的项目。该项目基于[openshift SDN](https://docs.openshift.org/latest/architecture/additional_concepts/sdn.html)的原理进行开发。由于[openshift](https://github.com/openshift/origin)的SDN网络方案和openshift自身的代码耦合在一起,无法像[flannel](https://github.com/coreos/flannel)和[calico](https://github.com/projectcalico/calico)等网络方案以插件的方式独立的为K8S提供服务,所以我(隶属于万达网络科技集团云平台部)开发了k8s-ovs,它拥有openshift优秀的SDN功能,又可以独立为K8S提供服务。 k8s-ovs支持单租户模式和多租户模式。 单租户模式直接使用openvswitch+vxlan将K8S的POD网络组成一个大二层,所有[POD](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/)可以互通。 多租户模式也使用openvswitch+vxlan来组建K8S的POD网络,但是它可以基于K8S中的[NAMESPACE](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/)来分配虚拟网络从而形成一个网络独立的租户,一个NAMESPACE中的POD无法访问其他NAMESPACE中的PODS和[SERVICES](https://kubernetes.io/docs/concepts/services-networking/service/)。 多租户模式下可以对一些NAMESPACE进行设置,使这些NAMESPACE中的POD可以和其他所有NAMESPACE中的PODS和SERVICES进行互访。 多租户模式下可以合并某两个NAMESPACE的虚拟网络,让他们的PODS和SERVICES可以互访。 多租户模式下也可以将上面合并的NAMESPACE虚拟网络进行分离。 单租户和多租户模式下都支持POD的流量限制功能,这样可以保证同一台主机上的POD相对公平的分享网卡带宽,而不会出现一个POD因为流量过大占满了网卡导致其他POD无法正常工作的情况。 单租户和多租户模式下都支持外联负载均衡。
授权协议:
Apache
开发语言:
Google Go 查看源码»
操作系统:
跨平台
4197 次点击  
加入收藏 微博
2 回复  |  直到
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传