title: Kubeadm init/join using public IP
body: <p>I am working on setting up a multi-node, multi hardware server Kubernetes Cluster. I am using Calico and Kubeadm.</p>
  
  <p>The one server version is working on windows using a private network among the host machine.</p>
  
  <p>I am facing a networking issue that I am trying to fix to connect nodes across the external network (LAN).</p>
  
  <p>So I am trying to use a bridge adapter ‘a nic virtualization’ within the virtual machines (nodes) to allow visibility over the network to a remote server using promiscuous mode and a static IP address. I am using Vagrant.</p>
  
  <p>But I cannot create a static public IP over the network (LAN), maybe I have don’t have the privilege to do it.</p>
  
  <p><strong>Troubleshooting:</strong></p>
  
  <ol>
  <li><p>To start I’ve tried to create a random IP public address, it’s working. But when I tried to join the worker nodes to the master it failed using kubeadm, “connection refused”. Kubeadm join command works only on the private network,
  I read that there’s extra Kubernetes config to edit to allow the external access, but I couldn't figure out how to do it. I tried to use: <code>
  kubeadm join &lt;public-ip&gt;:6443 --token wby3bb.vomsgxxxxxxb --discovery-token-ca-cert-hash sha256:xxxxx</code> 
  but the generated file /etc/kubernetes/bootstrapkubelet.conf and /etc/kubernetes/kubelet.conf is still using the :6443 inside it.
  I tried also to update  --advertise-address.</p></li>
  <li><p>One of the ideas it to create a gateway to forward the traffic of a specific port from the first net interface to the second, I am using Ubuntu/xenial on the host machines.</p></li>
  <li>I think that the easiest solution, it to fix the traffic forwarding and the IP address allocation.</li>
  </ol>
  
  <p>I am asking if someone could help me.</p>
  
  <p>Thank you.</p>