搬运:https://www.server-world.info/query?os=CentOS_8&p=microk8s&f=8
CentOS 8启用 Prometheus 附加组件以使用 Prometheus 收集 MicroK8s 集群的各种指标。
[1]在主节点上,启用 Prometheus 插件。
[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
.....
.....
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
If RBAC is not enabled access the dashboard using the default token retrieved with:
token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1)
microk8s kubectl -n kube-system describe secret $token
In an RBAC enabled setup (microk8s enable RBAC) you need to create a user with restricted
permissions as shown in:
https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md
Addon dns is already enabled.
[root@dlp ~]# microk8s kubectl get services -n monitoring
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-main ClusterIP 10.152.183.122 <none> 9093/TCP 57s
alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 39s
grafana ClusterIP 10.152.183.161 <none> 3000/TCP 57s
kube-state-metrics ClusterIP None <none> 8443/TCP,9443/TCP 57s
node-exporter ClusterIP None <none> 9100/TCP 56s
prometheus-adapter ClusterIP 10.152.183.34 <none> 443/TCP 56s
prometheus-k8s ClusterIP 10.152.183.217 <none> 9090/TCP 56s
prometheus-operated ClusterIP None <none> 9090/TCP 29s
prometheus-operator ClusterIP None <none> 8080/TCP 61s
[root@dlp ~]# microk8s kubectl get pods -n monitoring
NAME READY STATUS RESTARTS AGE
alertmanager-main-0 2/2 Running 0 83s
grafana-fbb6785d5-c275s 1/1 Running 0 100s
kube-state-metrics-dcc94d9f8-pj87s 3/3 Running 0 99s
node-exporter-d48hw 2/2 Running 0 99s
prometheus-adapter-5949969998-bgznt 1/1 Running 0 100s
prometheus-k8s-0 3/3 Running 1 73s
prometheus-operator-5c7dcf954-f982j 1/1 Running 0 103s
# 端口转发,以便可以从外部访问
# 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
# 如果 Firewalld 正在运行,则允许端口
[root@dlp ~]# firewall-cmd --add-port={9090/tcp,3000/tcp} --permanent
[root@dlp ~]# firewall-cmd --reload
[2]在本地网络中的任何客户端计算机上启动网络浏览器并访问 [http://(MicroK8s 主节点的主机名或 IP 地址):(配置的端口)/] ,如果显示Prometheus 或 Grafana的UI,就可以了。
请注意,Grafana 的[默认用户/密码]是 [admin/admin]。登录后,系统会提示您立即更改密码。



