CentOS Stream 8
Sponsored Link

MicroK8s : Enable Prometheus2021/04/07

 
Enable Prometheus add-on to monitor metrics on MicroK8s Cluster.
[1] Enable built-in Prometheus add-on on primary Node.
[root@dlp ~]#
microk8s enable prometheus dashboard dns

Enabling Prometheus
namespace/monitoring created
customresourcedefinition.apiextensions.k8s.io/alertmanagers.monitoring.coreos.com created
customresourcedefinition.apiextensions.k8s.io/podmonitors.monitoring.coreos.com created
customresourcedefinition.apiextensions.k8s.io/prometheuses.monitoring.coreos.com created
customresourcedefinition.apiextensions.k8s.io/prometheusrules.monitoring.coreos.com created
customresourcedefinition.apiextensions.k8s.io/servicemonitors.monitoring.coreos.com created
.....
.....
servicemonitor.monitoring.coreos.com/kube-scheduler created
servicemonitor.monitoring.coreos.com/kubelet created
The Prometheus operator is enabled (user/pass: admin/admin)
Addon dashboard is already enabled.
Addon dns is already enabled.

[root@dlp ~]#
microk8s kubectl get services -n monitoring

NAME                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
prometheus-operator     ClusterIP   None             <none>        8443/TCP                     89s
alertmanager-main       ClusterIP   10.152.183.229   <none>        9093/TCP                     85s
grafana                 ClusterIP   10.152.183.215   <none>        3000/TCP                     84s
kube-state-metrics      ClusterIP   None             <none>        8443/TCP,9443/TCP            84s
node-exporter           ClusterIP   None             <none>        9100/TCP                     84s
prometheus-adapter      ClusterIP   10.152.183.194   <none>        443/TCP                      83s
prometheus-k8s          ClusterIP   10.152.183.120   <none>        9090/TCP                     82s
alertmanager-operated   ClusterIP   None             <none>        9093/TCP,9094/TCP,9094/UDP   55s
prometheus-operated     ClusterIP   None             <none>        9090/TCP                     54s

[root@dlp ~]#
microk8s kubectl get pods -n monitoring

NAME                                  READY   STATUS    RESTARTS   AGE
prometheus-adapter-557648f58c-5c4h2   1/1     Running   0          2m4s
node-exporter-48nbk                   2/2     Running   0          2m4s
kube-state-metrics-54d8bdf4db-stggp   3/3     Running   0          2m5s
prometheus-operator-58fc7fbbd-p85fx   2/2     Running   0          2m9s
grafana-7c9bc466d8-4285s              1/1     Running   0          2m5s
alertmanager-main-0                   2/2     Running   0          97s
prometheus-k8s-0                      3/3     Running   1          96s

# set port-forwarding to enable external access

# Prometheus UI

[root@dlp ~]#
microk8s kubectl port-forward -n monitoring service/prometheus-k8s --address 0.0.0.0 9090:9090

Forwarding from 0.0.0.0:9090 -> 9090
# Grafana UI

[root@dlp ~]#
microk8s kubectl port-forward -n monitoring service/grafana --address 0.0.0.0 3000:3000

Forwarding from 0.0.0.0:3000 -> 3000
# if Firewalld is running, allow ports

[root@dlp ~]#
firewall-cmd --add-port={9090/tcp,3000/tcp} --permanent

[root@dlp ~]#
firewall-cmd --reload

[2] Access to [https://(MicroK8s primary node's Hostname or IP address):(setting port)] with an web browser on a Client computer in local network. Then, that's OK if following Prometheus or Grafana UI is shown.
For default user/password on Grafana, it [admin/admin].
Matched Content