Skip to content

Commit 9a69d3b

Browse files
authored
Merge pull request #4627 from sbueringer/pr-add-troubleshooting-doc
📖 doc: add node bootstrap troubleshooting doc
2 parents b398cb8 + 36bae1a commit 9a69d3b

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

docs/book/src/user/troubleshooting.md

+18
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Troubleshooting
22

3+
## Node bootstrap failures when using CABPK with cloud-init
4+
5+
Failures during Node bootstrapping can have a lot of different causes. For example, Cluster API 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)