环境说明:
- 操作系统:Centos7-2009
- 确保网络连接正常、yum源正常
- k8s集群版本:1.21,集群安装为kubeadm,kube-prometheus-0.9.0
步骤说明:
1、安装ingress-nginx
ingress-controller-0.49.yaml
2、创建 servicemonitor配置让prometheus能发现ingress-nginx的metrics
# vim nginx-ingress-scraping.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
app: ingress-nginx
name: nginx-ingress-scraping
namespace: monitoring
spec:
endpoints:
- interval: 30s
path: /metrics
port: metrics
jobLabel: app
namespaceSelector:
matchNames:
- ingress-nginx
selector:
matchLabels:
app.kubernetes.io/name: ingress-nginx
3、指标一直没收集上来,看看proemtheus服务的日志,发现报错如下:
kubectl -n monitoring logs prometheus-k8s-0 -c prometheus |grep error
:::info
level=error ts=20

文章描述了在Centos7环境下,使用kubeadm安装的k8s集群中,针对1.21版本的k8s和kube-prometheus-0.9.0,因权限问题导致Prometheus无法收集ingress-nginx的metrics。通过编辑ServiceMonitor配置和prometheus的ClusterRole,以及更新ingress-nginx服务端口声明,最终解决了监控问题。
最低0.47元/天 解锁文章
1932

被折叠的 条评论
为什么被折叠?



