Kube-OVN 是一个基于 OVN 的 Kubernetes 开源网络系统。
本次更新主要包含以下内容:
1. 支持 Kubernetes NetworkPolicy
Kube-OVN 0.3.0 的版本起支持子网间的防火墙设置,在 0.5.0 版本开始支持完整的 Kubernetes NetworkPolicy,用户可以实现更细粒度的网络策略控制,更好的对应用级别的网络访问进行安全控制。
Kube-OVN 在 NetworkPolicy 的实现中没有使用 Iptables 而是使用 Openflow 的流表规则对每个端口进行单独的访问规则设置。并使用 PortGroup 和 AddressSet 等 OVN 中的数据结构对流表进行简化,大幅降低规则的数量,减轻因网络策略对性能的影响。
2. 自定义容器通信网卡和 MTU
针对宿主机多网卡的情况,之前版本的 Kube-OVN 使用默认路由对应的网卡作为容器跨主机通信的网卡。从 0.5.0 开始,用户可以通过命令行参数 --iface 选择容器间通信所使用的网卡,方便用户根据自己的网络环境搭建更为复杂的网络系统。
之前版本容器网卡的 MTU 默认为 1400,在新版本中会根据用户选择的网卡 MTU 自动计算出合适的容器网卡 MTU,用户也可以根据自己的情况通过命令行参数 --mtu 来指定容器网卡 MTU,实现更好的性能和吞吐量控制。
3. 默认系统参数设置
从本版本开始,Kube-OVN 会自动检查环境系统参数并进行设置,例如:ip_forward,bridge-nf-call-iptables,rp_filter 等,减少因系统参数差异带来的网络问题,避免一些已知问题的出现。
4. 默认网关自动计算
针对 default_logical_switch 和 node_switch 自动计算默认网关,减少用户手动配置负担。
5. 暴露更多的命令行参数
将开放中的选项参数进行暴露,方便用户进行自定义的设置,请参考 https://github.com/alauda/kube-ovn/blob/master/docs/install.md#more-configuration
关于Kube-OVN:
Kube-OVN是灵雀云开源的基于OVN的Kubernetes网络组件,通过将OpenStack领域成熟的网络功能平移到Kubernetes,来应对更加复杂的基础环境和应用合规性要求。
灵雀云Kube-OVN主要实现了五大功能:Namespace和子网的绑定,以及子网间的访问控制;静态IP分配;动态QoS;分布式和集中式网关;内嵌 LoadBalancer。以此来应对当前Kubernetes网络组件分散,实现方式杂乱的问题,弥补现有Kubernetes网络能力方面的缺失。
OVN提供了大量 Kubernetes 网络目前不存在的功能,涵盖CNI、 Kube-Proxy、LoadBalancer、NetworkPolicy、DNS等在内的所有 Kubernetes 网络功能,并在原有基础上都有所增强。同时支持多平台,可以在Linux、Windows、KVM、XEN、Hyper-V 以及 DPDK 等环境下运行。
Kube-OVN相关的功能和版本进展,我们会随时更新,请您随时关注!