Skip to content

Commit 46efeb2

Browse files
committed
doc: add node bootstrap troubleshooting doc
1 parent 4026985 commit 46efeb2

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

docs/book/src/user/troubleshooting.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Troubleshooting
22

3+
## Node bootstrap failures
4+
5+
Failures during Node bootstrapping can have a lot of different causes. For example, ClusterAPI resources might be
6+
misconfigured or there might be problems with the network. The following steps describe how bootstrap failures can
7+
be troubleshooted systematically.
8+
9+
1. Access the Node via ssh.
10+
1. Take a look at cloud-init logs via `less /var/log/cloud-init-output.log` or `journalctl -u cloud-init --since "1 day ago"`.
11+
(Note: cloud-init persists logs of the commands it executes (like kubeadm) only after they have returned.)
12+
1. It might also be helpful to take a look at `journalctl --since "1 day ago"`.
13+
1. If you see that kubeadm times out waiting for the static Pods to come up, take a look at:
14+
1. containerd: `crictl ps -a`, `crictl logs`, `journalctl -u containerd`
15+
1. Kubelet: `journalctl -u kubelet --since "1 day ago"`
16+
(Note: it might be helpful to increase the Kubelet log level by e.g. setting `--v=8` via
17+
`systemctl edit --full kubelet && systemctl restart kubelet`)
18+
1. If Node bootstrapping consistently fails and the kubeadm logs are not verbose enough, the `kubeadm` verbosity
19+
can be increased via `KubeadmConfigSpec.Verbosity`.
20+
321
## Labeling nodes with reserved labels such as `node-role.kubernetes.io` fails with kubeadm error during bootstrap
422

523
Self-assigning Node labels such as `node-role.kubernetes.io` using the kubelet `--node-labels` flag

0 commit comments

Comments
 (0)