tilt-dev / tilt

Define your dev environment as code. For microservice apps on Kubernetes.
https://tilt.dev/
Apache License 2.0
7.59k stars 298 forks source link

report node conditions #4741

Open nicks opened 3 years ago

nicks commented 3 years ago

Describe the Feature You Want

If your pod is unschedulable, Tilt will show you the Kubernetes event on why it won't schedule:

[K8s EVENT: Pod example-html-749d4d9dbc-p8rtg (ns: default)] 0/1 nodes are available: 1 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate.

but doesn't give you any hints on what to do next.

Tilt should give you a tool to help diagnose the problem. Usually you can figure out the problem by looking at kubectl describe nodes and looking at Conditions or Events to see what's blocking the Node becoming Ready

Additional context This is similar in effect to the pod monitor that prints the stages of pod rollout

It would be nice to do this as an extension that you can install dynamically

nicks commented 3 years ago

in the particular case we were debugging, the issue was:

Ready False Thu, 08 Jul 2021 13:39:55 -0400 Thu, 08 Jul 2021 10:59:39 -0400 KubeletNotReady runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized

due to a problem with Kind on the 5.10.0-1034 kernel on ubuntu 20.04