Kubernetes Networks
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

View only
 
 
ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
FlannelCalicoWeave NetCiliumKube RouterRomanaContivTungsten Fabrickopeio
amazon-vpc-cni-k8s
2
CompanyRed HatTigera IncWeaveWorksCovalentCloudNative LabsPani Networks IncCiscoJuniperKopeioAmazon
3
Latest Stable Version0.10.03.3.12.5.01.3.00.2.12.0.21.25.0,1experimental1.3.0
4
Start DateJuly 2014July 2014August 2014December 2015April 2017November 2015December 20142012May 2016September 2017
5
LanguageGoGoGoGoGoBashGoC / C++GoGo
6
Minimum OS Version-RHEL 7, Centos 7, Ubuntu 16.04, Debian 8Linux Kernel > 3.8Linux Kernel > 4.9--CentOS 7, Ubuntu 16.04Linux Kernel > 2.6--
7
Minimum Kubernetes Version1.61.61.61.81.61.81.81.81.81.8
8
IP Versionipv4ipv4, ipv6ipv4ipv4, ipv6ipv4ipv4ipv4, ipv6ipv4, ipv6ipv4ipv4, ipv6
9
Open SourceYesYesYesYesYesYesYesYesYesYes
10
EncryptionExperimentalNoNaCl libraryNoNoNoNoNoExperimentalNo
11
Network policyNoIngress, EgressIngress, EgressIngress, EgressIngress, EgressIngress, EgressIngress, EgressIngress, EgressNoNo
12
Network policy auditingNoPaidNoNoNoNoNoNoNoNo
13
Recommended Max Nodes5000500
14
Default Network ModelLayer 2 VXLANLayer 3Layer 2 VXLANLayer 3Layer 3Layer 3Layer 2, Layer 3 or ACI optionsLayer 2, VXLAN or IPSECLayer 3
15
Layer 2 EncapsulationVXLAN-VXLanVXLan, Geneve--VXLANVXLANVXLAN-
16
Layer 3 Routingiptablesiptables, kubeproxyiptables, kubeproxyBPF, kubeproxyIPVS, iptables, ipsetsiptablesiptablesTF VRouterip routeeni
17
Layer 3 Encapsulation-IPIP (optional)Sleeve (fallback)-IPVS/LVS DR mode, GRE/IPIP-VLANMPLSoUDP, MPLSoGRE, VXLAN--
18
Layer 4 Route Distribution-BGP--BGPBGP, OSPFBGPBGP---
19
vnic per containernoyesyesyesyesnoyesnono
20
Multicast Supportnonoyesnononoyesnono
21
Subnet PerHostOne or more of Cluster / Host / Namespace / DeploymentClusterHostHostHostOverlapping IP poolsVRFsHostCluster
22
Isolationcidrlabel, host, cidr, network setscidr, networklabel, services, entities, cidr, dnscidrcidrlabel, cidrnono
23
Load BalancingnoyesyesyesyesyesyesNono
24
Multi Cluster Routingnoyesyesyes (see comment)yesyesyesnoyes
25
Partially Connected Networksnonoyesnononononono
26
IP Overlap Supportnonononononoyesnono
27
Name Servicenonoyesnononononono
28
Datastorekubernetes CRDs or etcdv3kubernetes CRDs, or etcdv3file inside podskubernetes etcdkubernetes etcdkubernetes etcdkubernetes etcd, etcd or consulkubernetes etcdkubernetes etcd
29
Paid SupportNoYesYesYesnoYesNoNoNo
30
Docshttps://coreos.com/flannel/docs/latest/https://docs.projectcalico.org/v3.3/introduction/https://www.weave.works/docs/net/latest/overview/http://docs.cilium.io/en/v1.3/https://github.com/cloudnativelabs/kube-routerhttps://romana.readthedocs.io/en/latest/http://contiv.github.io/documents/https://github.com/tungstenfabric
https://github.com/Juniper/contrail-controller
https://github.com/kopeio/networkinghttps://github.com/aws/amazon-vpc-cni-k8s
31
IntegrationsFlannel + CalicoFlannel + Calico-Cilium + Kube RouterCilium + Kube Router-amazon-vpc-cni-k8s + Calico
32
PlatformsLinux, WindowsLinux, WindowsLinuxLinuxLinuxLinuxLinuxLinuxLinuxLinux
33
Why?Layer 2 solution. Simple and mature. Overlays are useful when network address space is limited. Overlays also mostly auto-configure. Layer 3 solution. Good network policy support. Default on most Kubernetes distributions. Easy to debug on hosts by looking at route table. BGP allows for access both inside and outside the cluster.Combines Layer 2 overlay networking with network policies and other features. Best solution for partially connected networks.Security focussed. Uses BPF which is faster than iptables to enforce identity based policies. Policies also operate at Layer 7 allowing for application specific enforcement. The cluster mesh feature is simpler than BGP to confgure.Single Go binary built from the ground up for Kubernetes. Uses new IPVS/LVS kernel features to improve service load balancing performance. Also does direct server return to improve latency.Aims for performance by using native Linux routing, iptables and no encapsulation.Integrates with On-Prem Cisco ACI. Has a cool bandwidth network policy.Really simple. Uses the default Kubernetes network and sets up layer 3 routes between pods using ip route.Best and fastest CNI when running Kubernetes on AWS. Allocates ENI's to each pod so all standard AWS networking can be used for routing. Note: You should still use Calico for network policy.
34
ScenarioOn-Prem or custom cloud where native routing isn't possibleOn-Prem with native routing or cloud Kubernetes servicesSmall to medium size On-Prem or custom cloudOn-Prem or custom cloud security focussedOn-Prem or custom cloud latency focussedLarge scale On-Prem or AWSOn-Prem with ACI investmentAWS EKS, or AWS custom
35
Why Not?Native routing is faster and easier to debug. You need to also use Calico if you want network policies.IPIP mode is needed when routing between subnets (AWS AZ's) which negates some of the performance benefits vs an overlay. BGP is slighly scary to some people.Some people are scared of overlay networks because they aren't as easy to debug as native routing. It's a full mesh so very large clusters will require custom config with autodiscovery disabled.Requires later Kernel version. By default it's a full mesh Layer 2 network which will not scale for large clusters. Overlay can be disabled if direct routing is preferred. Depending on circumstances you may need to pair it with Kube Router for BGP.Similar to Calico in that it uses IPIP by default to encapsulate traffic between subnets. Quite a new project and although it's in use in production at some companies it's still not v1.Community not very largeNo defaults make the recommended setup confusing.Still in experimental or Alpha stage.Max pods on each host are limited to the ENI's available to that instance type. This creates real world issues when not managed correctly. You still need to use Calico for network policy so it may be easier to use Calico for everything even if there is a slight performance hit using IP-IP between AZ's.
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Loading...
Main menu