Can join the cluster, but unable to fetch kubeadm-config
On step 2, you should run this command:
kubeadm token create --print-join-command
That should provide the exact syntax you need to add a worker node to your cluster. Don't change anything
This seems to be an issue with current Minikube code, which I guess changed since the post was made. Take a look at https://github.com/kubernetes/minikube/issues/3916.I've managed to join a second node by DNATting 127.0.0.1:8443 to the original minikube master.
Just FTR, I added a /etc/rc.local at the second node with:(replace LOCAL_IF, MASTER_IP and WORKER_IP with sensible data)
#!/bin/shecho 1 > /proc/sys/net/ipv4/conf/<LOCAL_IF>/route_localnet/sbin/iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --destination-port8443 -j DNAT --to-destination <MASTER_IP>:8443/sbin/iptables -t nat -A POSTROUTING -p tcp -s 127.0.0.1 -d <MASTER_IP>--dport 8443 -j SNAT --to <WORKER_IP>
But problems did not end there. Installing flannel with:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
worked (after allocating node CIDRs via controller manager), but my second node somehow had a different kubelet installation, that installed cni as network plugin, and ended up creating a new bridge (cni0) that clashed with docker network.
There are many things that have to work together for this to fly.