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-awsromana-vpcrouter自动配置Node和Zone之间的路由

工作原理

  • layer 3 networking,消除overlay带来的开销

  • 基于iptables ACL的网络隔离

  • 基于hierarchy CIDR管理Host/Tenant/Segment ID

优点

  • 纯三层网络,性能好

缺点

  • 基于IP管理租户,有规模上的限制

  • 物理设备变更或地址规划变更麻烦

参考文档

最后更新于