Kubernetes:Prometheus context deadline exceeded 错误

Kubernetes: Prometheus context deadline exceeded error

我有几个 nodejs 微服务,它们是 运行 开发命名空间,我公开指标并能够通过 http://localhost:9187/metrics.

访问

但是当我部署作为 运行 监控命名空间的 prometheus 服务器时,我在“目标”页面中收到以下错误。

Get http://1.../metrics: context deadline exceeded.

我假设其中 none 允许从命名空间监控访问 所以需要在命名空间 dev 中添加一个额外的,以允许来自命名空间监控的 prometheus pod 抓取下面的 pod 或者这个错误的原因可能是什么?

将 netpol 添加到我的应用程序以允许 prometheus 从名称空间监视的最佳方法是什么?


kubectl get netpol -n dev

myapp-api-dev       app.kubernetes.io/instance=myapp-api-dev,app.kubernetes.io/name=oneapihub-api           5h33m
myapp-auth-dev      app.kubernetes.io/instance=myapp-auth-dev,app.kubernetes.io/name=oneapihub-auth         56m
myapp-backend-dev   app.kubernetes.io/instance=myapp-backend-dev,app.kubernetes.io/name=oneapihub-backend   5h42m
redis               app=redis,release=redis                                                                     33d

kubectl get pods -n 监控

NAME                                            READY   STATUS    RESTARTS   AGE
monitoring-prometheus-server-6cc796c4db-hp4rg   2/2     Running   0          2d4h

我猜你已经安装了 kube-prometheus。在这种情况下,您需要创建自定义角色和角色绑定,让 Prometheus 监控其他命名空间,请参阅 here