Kubernetes Flannel Network Plugin
NOTE: the use of this plugin is deprecated -- these instructions are saved here for historical/archival purposes.
The Flannel pod networking can be installed directly from the repository using this command:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
On Kubernetes v1.16+, if there are issues (specifically, nodes don't reach the Ready state), try this specific version:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml
By default, flannel uses the primary network interface (eth0 on 10.0.0.0/24); but if you want to push the traffic onto the secondary interfaces (such as for the development cluster), download the YAML manifest and add one parameter to the argument list on/about line 190 (in the spec -> template -> spec -> containers [where name == 'kube-flannel-ds-amd64'] -> args). The result should look like this:
... args: - --ip-masq - --kube-subnet-mgr - --iface=eth1 resources: ...
substitute the secondary interface name for 'eth1' if it is different. Then apply the manifest:
kubectl apply -f kube-flannel.yaml
Other configuration options can be passed to flannel per this page