Skip to content

Commit

Permalink
Merge pull request #4627 from sbueringer/pr-add-troubleshooting-doc
Browse files Browse the repository at this point in the history
📖 doc: add node bootstrap troubleshooting doc
  • Loading branch information
k8s-ci-robot authored May 18, 2021
2 parents b398cb8 + 36bae1a commit 9a69d3b
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions docs/book/src/user/troubleshooting.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Troubleshooting

## Node bootstrap failures when using CABPK with cloud-init

Failures during Node bootstrapping can have a lot of different causes. For example, Cluster API resources might be
misconfigured or there might be problems with the network. The following steps describe how bootstrap failures can
be troubleshooted systematically.

1. Access the Node via ssh.
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"`.
(Note: cloud-init persists logs of the commands it executes (like kubeadm) only after they have returned.)
1. It might also be helpful to take a look at `journalctl --since "1 day ago"`.
1. If you see that kubeadm times out waiting for the static Pods to come up, take a look at:
1. containerd: `crictl ps -a`, `crictl logs`, `journalctl -u containerd`
1. Kubelet: `journalctl -u kubelet --since "1 day ago"`
(Note: it might be helpful to increase the Kubelet log level by e.g. setting `--v=8` via
`systemctl edit --full kubelet && systemctl restart kubelet`)
1. If Node bootstrapping consistently fails and the kubeadm logs are not verbose enough, the `kubeadm` verbosity
can be increased via `KubeadmConfigSpec.Verbosity`.

## Labeling nodes with reserved labels such as `node-role.kubernetes.io` fails with kubeadm error during bootstrap

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

0 comments on commit 9a69d3b

Please sign in to comment.