kubernetes Prometheus返回超出上下文截止时间的错误

xmjla07d  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(1)|浏览(173)

我部署了Prometheus with an Helm chart from Rancher。Alertmanager、Prometheus、Grafana、Node-exporter、Kubelet等目标都是自动配置的。例如,来自alertmanager的端点指的是特定pod的IP地址。我还成功配置了多个目标,如Jira和Confluence。
由于服务external-dns运行在名称空间kube-system中,因此它也是自动配置的,但只有这个服务得到错误Context deadline exceeded
我在一个随机pod中检查了这些指标是否可以通过运行命令curl -s http://<IP-ADDRESS-POD>:7979/metrics来访问。还对服务的ip地址(kubectl get service external-dnscurl-s http://<IP-ADDRESS-SVC>:7979/metrics)进行了检查。这两个curl命令都在一秒内返回了指标。因此,增加刮擦超时不会有帮助。
但是当我在Prometheus容器中使用exec并使用promtool debug metrics命令时,它显示了与在我的浏览器中相同的行为。外部dns返回两个IP地址的超时,如果我在另一个目标上尝试此操作,它只返回度量。
我也不认为这是SSL问题,因为我已经为目标Jira和Confluence注入了正确的CA包。
所以有人有什么想法吗?:)

kqlmhetl

kqlmhetl1#

我不得不编辑kube-system命名空间中的NetworkPolicy。来自cattle-monitoring-system命名空间的容器现在被允许访问来自kube-system命名空间的容器。You can upload your NetworkPolicies here并显示哪些资源可以访问或不能访问。NetworkPolicy现在看起来像这样:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-network-policy
  namespace: kube-system
spec:
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          name: cattle-monitoring-system
  - from:
    - podSelector: {}
  podSelector: {}
  policyTypes:
  - Ingress

相关问题