I have a few open source projects on github. My disclaimer - I don’t recommend using them for production systems unless you fully understand the code and are prepared to support them yourself. That said… if you see something you like, decide to use or would like to collaborate on, please let me know. Projects here
The primary use for the kubernetes kube-state-metrics add-on service is to provide cluster state metrics to monitoring systems like Prometheus. But, it may sometimes be useful to get the same metrics in a script or directly from your command line. That’s where kubestate comes in. It’s a command line utility that calls the kube-state-metrics API, then shows interesting views of the metrics. You can also use it to get the raw data values in various formats that can be used by scripts or other utilities.
As you saw in Part 1, pods are not accessible outside the cluster on their own. Running the
kubectl proxy command is an easy way to test in development. But when you go to production, a better option is required. That’s where the
Service component helps.
There are a number of reasons why pods fail to reach a running state. Missing required resources was covered in Part 1. Another scenario happens after the pod is successfully scheduled on a node. When the pod trys to start on its node and either crashes or exits unexpectedly, the
restartPolicy field of the pods
PodSpec determines what happens next. It may just fail and stop, if set to
Never. Or if set to
Always, which is the default, the pod could go into a never ending loop of exiting, trying again and exiting again… In this case its status will show as