Kubeadm join failed : Failed to request cluster-info

8/4/2020

I have two server to work as master and work node on local server network.

*master node
  10.20.20.214
worker node
  10.20.20.218*

In master node, I success using kubeadm init to setup with Calico network. It report message code for me to join other node

kubeadm join 10.20.20.214:6443 --token sy32dd.gzs4q4vi91p2o87f \
    --discovery-token-ca-cert-hash sha256:9f2eb4dc6fbc549792adada262b8aff65dd547fa9aac0890e64604df6cd31e11

But when I try to using this code to join work node, it seems cannot access to this ip port 10.20.20.214:6443, and report error message below.

I0804 16:49:45.848694  111847 token.go:215] [discovery] Failed to request cluster-info, will try again: Get https://10.20.20.214:6443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout=10s: dial tcp 10.20.20.214:6443: connect: no route to host
-- Muhaimin Aiman
kubeadm
kubernetes

2 Answers

10/30/2020

Usually the: dial tcp <master-ip>:6443: connect: no route to host error is caused because master node ingress rules blocks port 6443.

If your network is private and reliable - setup the ingress rule below:

 sudo firewall-cmd --zone=<public/or-other-zone> --add-port=6443/tcp --permanent
 sudo firewall-cmd --reload
 sudo firewall-cmd --list-all

(*) I'll assume you're running kubeadm on-prem. If you're running on cloud infra - use the relevant firewall setup.

-- RtmY
Source: StackOverflow

9/30/2020

The reason display on error output, no route to host 10.20.20.214. You have network connectivity problem. <br> Try telnet to 10.20.20.214 on port 6443. worker node should have access kube-api-server component on master node on port 6443. <br> Check this link to undrestand kubernetes use which ports.<br> https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

-- mhafshari
Source: StackOverflow