<p>I am new to Kubernetes monitoring and self-healing. I wonder what kind of self-healing Kubernetes can provide, such as restart failed pod if necessary? anything else? what Kubernetes cannot provide.</p>

<p>As for Kubernetes monitoring, what kind of metrics we need to monitor in order to operate on Kubernetes instead of Kubernetes self-healing?</p>

<p>Any ideas welcomed. Thanks.</p>

<p>I'm afraid your question goes beyond what is possible to answer here on stackoverflow. </p>

<p>Yes, k8s is able to restart/reschedule pods. If you are already a bit familiar with key concepts, maybe <a href="https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/" rel="nofollow noreferrer">pod-lifecycle</a> is a point to start.
If you have little knowledge about k8s basics, I suggest you study <a href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment/" rel="nofollow noreferrer">Deployments</a>, <a href="https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/" rel="nofollow noreferrer">DaemonSets</a>, <a href="https://kubernetes.io/docs/concepts/services-networking/service/" rel="nofollow noreferrer">Services</a> etc. because Monitoring in k8s relies heavily on them!</p>

<p>You did not say what kind of metrics you are interested in.
For system metrics like io/cpu time etc. you can start with e.g. <a href="https://github.com/kubernetes-incubator/metrics-server" rel="nofollow noreferrer">Kubernetes Metrics Server.</a>
If you want to get insights into k8s metrics (how many services, uptime, etc.) have a look at <a href="https://github.com/kubernetes/kube-state-metrics" rel="nofollow noreferrer">kube-state-metrics</a> which is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects.</p>

<p>Have fun with k8s</p>

<p>Cheers</p>
