The current config for flannel is listed as using the UDP backend.
net-conf.json: |
{
"Network": "100.64.0.0/10",
"Backend": {
"Type": "udp"
}
According to the Flannel documentation, this should only be used for debugging.
https://github.com/coreos/flannel/blob/master/Documentation/backends.md#udp
Use UDP only for debugging if your network and kernel prevent you from using VXLAN or host-gw.
This should be changed to either vxlan or host-gw.
For AWS environments, the Flannel AWS VPC backend may be the preferred option -
https://github.com/coreos/flannel/blob/master/Documentation/aws-vpc-backend.md
Performance benchmark details:
http://machinezone.github.io/research/networking-solutions-for-kubernetes/
Their recommendation is host-gw.
Keep in mind that the Amazon VPC limits the number of entries per route table to 50. If you require more routes, request a quota increase or simply switch to the VXLAN backend.
AWS VPC backend has a limit of 50 nodes, so that is not a good option.
AWS VPC backend is definitely not the right choice.
The default kubenet networking functions identically to the aws-vpc backend for Flannel. If you're thinking of using that, you might as well use kubenet. host-gw is also likely not a good default choice since it will only work inside a single subnet, which I think won't work for private topology.
Backend should be VXLAN. Is the recommended backend in the docs, it supports multiple subnets for private topology and has better performance than UDP.
Should be fixed by #3190
Closing as fixed
Most helpful comment
Should be fixed by #3190