Kubeadm: How to debug hanging "Created API client, waiting for the control plane to become ready"

Created on 6 Jan 2017  ·  4Comments  ·  Source: kubernetes/kubeadm

I wonder if there is a way I can debug and see where in "waiting for the control plane to become ready" Kubeadm init hangs. Any -verbose parameters for kubeadm? Some other log-files or recommended debug options?
I am running Ubuntu 16.04 - but I am trying to run kubeadm from within a docker container. On my host it is working.

Most helpful comment

run journalctl -xeu kubelet then see logs
'error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs
systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Unit kubelet.service entered failed state.
systemd[1]: kubelet.service failed.'

kubelet's cgroup driver is not same with docker's cgroup driver, so I update systemd -> cgroupfs.

vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
update KUBELET_CGROUP_ARGS=--cgroup-driver=systemd to KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs

restart kubelet
run 'service kubelet restart'

everyting is ok

All 4 comments

I'm mostly just opening another shell and running docker ps and/or journalctl -xeu kubelet
It's hard to do an all-in-one debugging solution since there are so much information and we're basically waiting for things to happen (for instance, slow internet conn might make it take very long although everything's working)

Do you have a proposal of what should be included?

Thanks, I managed to get by the "waiting for the control plane to become ready", the standard debug options you suggested was enough.

run journalctl -xeu kubelet then see logs
'error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "systemd" is different from docker cgroup driver: "cgroupfs
systemd[1]: kubelet.service: main process exited, code=exited, status=1/FAILURE
systemd[1]: Unit kubelet.service entered failed state.
systemd[1]: kubelet.service failed.'

kubelet's cgroup driver is not same with docker's cgroup driver, so I update systemd -> cgroupfs.

vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
update KUBELET_CGROUP_ARGS=--cgroup-driver=systemd to KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs

restart kubelet
run 'service kubelet restart'

everyting is ok

@heartarea Appreciate your steps. They work well.

Also, we need to apply this changes to other nodes other than master so that they are able to join the cluster.

Is this a bug? Why it is not being set as you suggested?

Was this page helpful?
0 / 5 - 0 ratings