首页 > 解决方案 > 无法从 Kubernetes 集群中的 heapster pod 获取指标

问题描述

我正在尝试在 Kubernetes 仪表板中获取指标。为此,我在我的命名空间中运行influxdband heapsterpod kube-system。我使用命令检查了 pod 的状态kubectl get pods -n kube-system。这是我关注的链接但是 heapster 将日志显示为

E1023 13:41:07.915723       1 reflector.go:190] k8s.io/heapster/metrics/util/util.go:30: Failed to list *v1.Node: Get https://kubernetes.default/api/v1/nodes?resourceVersion=0: dial tcp: i/o timeout

有人可以建议我将在哪里更改我的配置吗?

标签: kubernetesinfluxdbheapster

解决方案


看起来 heapster 无法通过kubernetes您默认的服务与您 kube-apiserver 对话namespace。有几件事,你可以试试:

  1. 检查服务是否在默认命名空间中定义:

    $ kubectl get svc kubernetes
    NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
    kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   92d
    
  2. 检查所有 kube-proxy pod 是否运行正常:

    $ kubectl -n kube-system -l=k8s-app=kube-proxy get pods
    NAME               READY   STATUS    RESTARTS   AGE
    kube-proxy-xxxxx   1/1     Running   0          4d18h
    ...
    
  3. 检查所有覆盖 pod 是否正在运行。例如印花布

    $ kubectl -n kube-system -l=k8s-app=calico-node get pods
    NAME                READY   STATUS    RESTARTS   AGE
    calico-node-88fgd   2/2     Running   3          4d21h
    ...
    

推荐阅读