My cluster does seems to be healthy, everything works fine.
microk8s inspectgives good results:
Inspecting services
Service snap.microk8s.daemon-cluster-agent is running
Service snap.microk8s.daemon-containerd is running
Service snap.microk8s.daemon-kubelite is running
Service snap.microk8s.daemon-k8s-dqlite is running
Service snap.microk8s.daemon-apiserver-kicker is running
Copy service arguments to the final report tarball
But it is true if I check my kubernetes resources under the kube-system namespace, I do not see any job called kube-scheduler or apiserver or kube-controller-manager or anything else in this list.
Is it safe to just ignore and silence these alerts?
Update, my Prometheus PVC was full. I added some space and the two alerts who had different date (KubeApi and Kubelet) stopped. I still have these three remaining: KubeControllerManager, KubeProxy and KubeScheduler, and still don’t see job with the names in the cluster resources.
Prometheus was installed via the community chart, specifically kube-prometheus-stack. It comes with a bunch of discovery and alerting rules pre-configured.
I mostly use the default, the only thing I did was adding a podmonitor and servicemonitor resources in my cluster to let it monitor my own services with a custom label.
Installing kube-prometheus-stack in a fresh kind cluster locally, there are a few things it doesn’t seem to know how to talk to. Most problems I run into with Prometheus in k8s tend to have some labeling tricks invloved, but for the cluster components it might just be a matter of tinkering with your values:
Hmm thanks, but I don’t see any values worth changing in these lists? What would you recommend tinkering? They seems like pretty standard stuff.
The alerting rules are kinda simple too. job="kube-controller-manager", job="kube-proxy" and job="kube-scheduler".
But no, microk8s doesn’t seems to create jobs with these names:
kubectl -n kube-system get jobs
No resources found in kube-system namespace.
That’s my question, is this normal? Should microk8s deploy these jobs, or should I disable the alerts with enable false in the values files you listed?
As for pods in the kube-system namespace, all I see is calico and coredns. Again, is this normal?
This could be a matter of getting minikube to expose the components. The documentation on this page has some choice minikube flags that I wouldn’t run without knowing about this: