When we launch cluster, all nodes will join the default kubeadm-dind-net, which is the management network for the cluster. The basic idea here is to allow nodes to join custom network(s) other than the default one. This allows nodes to connect to something outside of kubeadm-dind-net.
One typical use case that I'm doing is to add these nodes to a local bridge network where there are a few private Docker registries which are also containers, so, when launch the cluster, kubeadm can pull images from these private registries quickly rather than their public peers, e.g. k8s.gcr.io, gcr.io, etc. I found that makes the cluster bootstrap really really fast, both for local dev and CI. And, this can even run w/o network connection since all traffic happens at local...
I'm going to submit a simple PR for this... Feel free to check it and see if that makes sense to merge when people think that's useful to others...
When we launch cluster, all nodes will join the default
kubeadm-dind-net
, which is the management network for the cluster. The basic idea here is to allow nodes to join custom network(s) other than the default one. This allows nodes to connect to something outside ofkubeadm-dind-net
.One typical use case that I'm doing is to add these nodes to a local bridge network where there are a few private Docker registries which are also containers, so, when launch the cluster, kubeadm can pull images from these private registries quickly rather than their public peers, e.g.
k8s.gcr.io
,gcr.io
, etc. I found that makes the cluster bootstrap really really fast, both for local dev and CI. And, this can even run w/o network connection since all traffic happens at local...I'm going to submit a simple PR for this... Feel free to check it and see if that makes sense to merge when people think that's useful to others...