作者介绍:Kube-OVN社区贡献者 Mr.Li
作者说:kube-ovn在1.8版本上引入了安全组,为了pod容器提供了类似openstack平台上neutron项目的安全组功能。个人猜测引入这个功能的开发者应该是使用容器平台的Pod来管理虚拟机(如kubevirt),自然就会同步对比openstack平台从而想要引入对应安全组功能。目前kube-ovn的pod和openstack平台的neutron port一样具备了2种安全能力,一种是port端口安全,一种就是安全组。port端口安全用来控制pod内部往外访问时源IP和源Mac的合法性。安全组则是可以更精细化的控制不管是流入pod、流出pod的所有流量。
pod网卡的端口安全
pod annotation "%s.kubernetes.io/port_security"用来指示对应网卡是否开启端口安全。pod网卡的端口安全是通过ovn的lsp-set-port-security接口实现的。简单说就是pod的每张网卡都会有对应的ovn port,分配了mac和ip。通过对ovn port设置lsp-set-port-security来实现端口安全。