Romana
Romana是Panic Networks在2016年提出的开源项目,旨在解决Overlay方案给网络带来的开销。
Kubernetes部署
对使用kubeadm部署的Kubernetes集群:
kubectl apply -f https://raw.githubusercontent.com/romana/romana/romana-2.0/docs/kubernetes/romana-kubeadm.yml
对使用kops部署的Kubernetes集群:
# Connect to the master node
ssh admin@master-ip
# Check that Kubernetes is running and that the master is in NotReady state
kubectl get nodes
kubectl apply -f https://raw.githubusercontent.com/romana/romana/romana-2.0/docs/kubernetes/romana-kops.yml
使用kops时要注意
- 设置网络插件使用CNI
--networking cni
- 对于aws还提供
romana-aws
和romana-vpcrouter
自动配置Node和Zone之间的路由
工作原理
- layer 3 networking,消除overlay带来的开销
- 基于iptables ACL的网络隔离
- 基于hierarchy CIDR管理Host/Tenant/Segment ID
优点
- 纯三层网络,性能好
缺点
- 基于IP管理租户,有规模上的限制
- 物理设备变更或地址规划变更麻烦
参考文档