kubeadm: Running pre-flight checks hang
What keywords did you search in kubeadm issues before filing this one?
preflight hang kubeadm join
BUG REPORT
Versions
kubeadm version (use kubeadm version
):
kubeadm version: &version.Info{Major:“1”, Minor:“14”, GitVersion:“v1.14.0”, GitCommit:“641856db18352033a0d96dbc99153fa3b27298e5”, GitTreeState:“clean”, BuildDate:“2019-03-25T15:51:21Z”, GoVersion:“go1.12.1”, Compiler:“gc”, Platform:“linux/amd64”}
Environment:
-
Kubernetes version (use
kubectl version
): Client Version: version.Info{Major:“1”, Minor:“14”, GitVersion:“v1.14.0”, GitCommit:“641856db18352033a0d96dbc99153fa3b27298e5”, GitTreeState:“clean”, BuildDate:“2019-03-25T15:53:57Z”, GoVersion:“go1.12.1”, Compiler:“gc”, Platform:“linux/amd64”} -
Cloud provider or hardware configuration:
-
OS (e.g. from /etc/os-release): NAME=“CentOS Linux” VERSION=“7 (Core)” ID=“centos” ID_LIKE=“rhel fedora” VERSION_ID=“7” PRETTY_NAME=“CentOS Linux 7 (Core)” ANSI_COLOR=“0;31” CPE_NAME=“cpe:/o:centos:centos:7” HOME_URL=“https://www.centos.org/” BUG_REPORT_URL=“https://bugs.centos.org/”
CENTOS_MANTISBT_PROJECT=“CentOS-7” CENTOS_MANTISBT_PROJECT_VERSION=“7” REDHAT_SUPPORT_PRODUCT=“centos” REDHAT_SUPPORT_PRODUCT_VERSION=“7”
-
Kernel (e.g.
uname -a
): Linux vm02.andrefagundes.org 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux -
Others:
What happened?
Problem when joining a control-plane. The process hang with message Running pre-flight checks. See below:
[root@vm02 ~]# kubeadm join vm10.andrefagundes.org:6443 --token 07nh7g.v8p5fcs61fn3o2h4 --discovery-token-ca-cert-hash sha256:039a5f9229dafe39d4a51af6899c20adff1de5dda23f780ac9b896e95f95623a --experimental-control-plane --certificate-key 8afd066a7b8baa2abf86ba1b2d5e7f29625875d8f78a3e136f7fd35605b4775 [preflight] Running pre-flight checks
What you expected to happen?
I was expecting the node to be joined or a message indicating an error.
How to reproduce it (as minimally and precisely as possible)?
I am following the official documentation below.
https://kubernetes.io/docs/setup/independent/high-availability/#external-etcd-nodes
Anything else we need to know?
No.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 8
- Comments: 27 (7 by maintainers)
make sure you call
kubeadm init/join
with e.g.--v=2
to have more details on what’s going on.In my case, I was able to successfully join the node by stopping the firewall on the Master node.
systemctl stop firewall
kubeadm v1.15
kubeadm join … --v=2
I0802 11:47:31.027812 359 token.go:202] [discovery] Failed to connect to API Server “”: token id “r5uyqk” is invalid for this cluster or it has expired. Use “kubeadm token create” on the control-plane node to create a new valid token
kubeadm init phase upload-certs --upload-certs kubeadm token create
then kubeadm join sucess
In my case, I was able to successfully join the node by giving all traffic access in Security group on the Master node.
Note: Allowing All traffic is only for self practice do not do as Organization level.
Read the following document and open the ports on your server. Problems will be solved. https://kubernetes.io/docs/reference/ports-and-protocols/
I had the same issue. I needed to reboot the master and after that executing the ‘kubeadm join …’ command again on the nodes worked for me.
There are several errors in the logs. I also tried to reinstall the cluster few times and each time I get different errors. I am giving up. We can close the case. Thanks!!
With v10 parameter.
[root@vm03 etcd]# kubeadm join vm10.andrefagundes.org:6443 --token 07nh7g.v8p5fcs61fn3o2h4 --discovery-token-ca-cert-hash sha256:039a5f9229dafe39d4a51af6899c20adff1de5dda23f780ac9b896e95f95623a --experimental-control-plane --certificate-key cf3c8ca4f74751bfe7fc9d3e00e03a37619d36a6d6fb79fb5ba3645d74dd7bf4 -v10 I0401 00:34:08.531961 16893 join.go:367] [preflight] found NodeName empty; using OS hostname as NodeName I0401 00:34:08.532014 16893 join.go:371] [preflight] found advertiseAddress empty; using default interface’s IP address as advertiseAddress I0401 00:34:08.532048 16893 initconfiguration.go:105] detected and using CRI socket: /var/run/dockershim.sock I0401 00:34:08.532179 16893 interface.go:384] Looking for default routes with IPv4 addresses I0401 00:34:08.532187 16893 interface.go:389] Default route transits interface “eth0” I0401 00:34:08.532324 16893 interface.go:196] Interface eth0 is up I0401 00:34:08.532380 16893 interface.go:244] Interface “eth0” has 4 addresses :[192.168.122.103/24 fe80::a3c0:2a34:91f2:e0eb/64 fe80::8439:c3eb:5848:c1f2/64 fe80::4381:b4a5:5836:a0e1/64]. I0401 00:34:08.532399 16893 interface.go:211] Checking addr 192.168.122.103/24. I0401 00:34:08.532407 16893 interface.go:218] IP found 192.168.122.103 I0401 00:34:08.532415 16893 interface.go:250] Found valid IPv4 address 192.168.122.103 for interface “eth0”. I0401 00:34:08.532421 16893 interface.go:395] Found active IP 192.168.122.103 [preflight] Running pre-flight checks I0401 00:34:08.532495 16893 preflight.go:90] [preflight] Running general checks I0401 00:34:08.532539 16893 checks.go:254] validating the existence and emptiness of directory /etc/kubernetes/manifests I0401 00:34:08.532570 16893 checks.go:292] validating the existence of file /etc/kubernetes/kubelet.conf I0401 00:34:08.532579 16893 checks.go:292] validating the existence of file /etc/kubernetes/bootstrap-kubelet.conf I0401 00:34:08.532586 16893 checks.go:105] validating the container runtime I0401 00:34:08.580885 16893 checks.go:131] validating if the service is enabled and active I0401 00:34:08.638659 16893 checks.go:341] validating the contents of file /proc/sys/net/bridge/bridge-nf-call-iptables I0401 00:34:08.638724 16893 checks.go:341] validating the contents of file /proc/sys/net/ipv4/ip_forward I0401 00:34:08.638755 16893 checks.go:653] validating whether swap is enabled or not I0401 00:34:08.638788 16893 checks.go:382] validating the presence of executable ip I0401 00:34:08.638809 16893 checks.go:382] validating the presence of executable iptables I0401 00:34:08.638824 16893 checks.go:382] validating the presence of executable mount I0401 00:34:08.638837 16893 checks.go:382] validating the presence of executable nsenter I0401 00:34:08.638849 16893 checks.go:382] validating the presence of executable ebtables I0401 00:34:08.638860 16893 checks.go:382] validating the presence of executable ethtool I0401 00:34:08.638871 16893 checks.go:382] validating the presence of executable socat I0401 00:34:08.638883 16893 checks.go:382] validating the presence of executable tc I0401 00:34:08.638894 16893 checks.go:382] validating the presence of executable touch I0401 00:34:08.638914 16893 checks.go:524] running all checks I0401 00:34:08.664826 16893 checks.go:412] checking whether the given node name is reachable using net.LookupHost I0401 00:34:08.665583 16893 checks.go:622] validating kubelet version I0401 00:34:08.709573 16893 checks.go:131] validating if the service is enabled and active I0401 00:34:08.716270 16893 checks.go:209] validating availability of port 10250 I0401 00:34:08.716418 16893 checks.go:439] validating if the connectivity type is via proxy or direct I0401 00:34:08.716444 16893 join.go:427] [preflight] Discovering cluster-info I0401 00:34:08.716498 16893 token.go:200] [discovery] Trying to connect to API Server “vm10.andrefagundes.org:6443” I0401 00:34:08.716961 16893 token.go:75] [discovery] Created cluster-info discovery client, requesting info from “https://vm10.andrefagundes.org:6443” I0401 00:34:08.717031 16893 round_trippers.go:419] curl -k -v -XGET -H “Accept: application/json, /” -H “User-Agent: kubeadm/v1.14.0 (linux/amd64) kubernetes/641856d” ‘https://vm10.andrefagundes.org:6443/api/v1/namespaces/kube-public/configmaps/cluster-info’ I0401 00:34:08.722405 16893 round_trippers.go:438] GET https://vm10.andrefagundes.org:6443/api/v1/namespaces/kube-public/configmaps/cluster-info 403 Forbidden in 5 milliseconds I0401 00:34:08.722423 16893 round_trippers.go:444] Response Headers: I0401 00:34:08.722432 16893 round_trippers.go:447] Content-Type: application/json I0401 00:34:08.722441 16893 round_trippers.go:447] X-Content-Type-Options: nosniff I0401 00:34:08.722450 16893 round_trippers.go:447] Content-Length: 321 I0401 00:34:08.722458 16893 round_trippers.go:447] Date: Mon, 01 Apr 2019 03:34:08 GMT I0401 00:34:08.722497 16893 request.go:942] Response Body: {“kind”:“Status”,“apiVersion”:“v1”,“metadata”:{},“status”:“Failure”,“message”:“configmaps "cluster-info" is forbidden: User "system:anonymous" cannot get resource "configmaps" in API group "" in the namespace "kube-public"”,“reason”:“Forbidden”,“details”:{“name”:“cluster-info”,“kind”:“configmaps”},“code”:403} I0401 00:34:08.722937 16893 token.go:83] [discovery] Failed to request cluster info, will try again: [configmaps “cluster-info” is forbidden: User “system:anonymous” cannot get resource “configmaps” in API group “” in the namespace “kube-public”]