k3s on Raspberry Pi: SchedulingDisabled

8 Dec 2021 09:42 k3s raspberry-pi

This morning, I grabbed my Raspberry Pi cluster out of the box and fired it up again.

But my docker repository – of which more later – wasn’t starting. I’d left it broken:

  • By using the default k3s local-path storage class, the container was tied to a specific node.
  • That node was showing as SchedulingDisabled:
$ kubectl get nodes --sort-by '.metadata.name'
NAME     STATUS                     ROLES                  AGE    VERSION
rpi401   Ready                      control-plane,master   154d   v1.21.7+k3s1
rpi402   Ready                      <none>                 154d   v1.21.7+k3s1
rpi403   Ready                      <none>                 152d   v1.21.7+k3s1
rpi404   Ready                      <none>                 152d   v1.21.7+k3s1
rpi405   Ready,SchedulingDisabled   <none>                 152d   v1.21.7+k3s1
$ kubectl get node rpi405 -o yaml
...
spec:
  ...
  taints:
  - effect: NoSchedule
    key: node.kubernetes.io/unschedulable
    timeAdded: "2021-07-10T09:41:33Z"
  unschedulable: true
...

It’s a simple fix:

$ kubectl uncordon rpi405
node/rpi405 uncordoned

The thing that’s puzzling me is that I don’t remember using the kubectl cordon command. I do vaguely remember messing around with taints, so maybe…?