1

我正在尝试获取网络输入和输出字节、磁盘读写速度等指标数据。在 kubernetes 仪表板上,我只获取内存和 CPU 数据。我什至在 kube-system 命名空间中安装了 heapster、influx db 和 grafana。当我运行命令 kubectl cluster-info 时,它显示“无法访问此站点”。因此,仪表板似乎正在运行,但其他 API 没有。还有其他方法可以获取此指标数据吗?

4

2 回答 2

0

是的,您可以从 heapster api 获取这些数据。

只需在 heapster.yaml 文件中添加一个新条目。
在规范(服务)下添加

type: NodePort 

(实际上,您这样做是在暴露 heapster API)。

现在你的 heapster.yaml 文件部分应该是这样的

spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8082
  selector:
    k8s-app: heapster

现在再次部署您的 heapster.yaml。

现在使用以下命令从您的 kubernetes 集群中获取服务列表。

kubectl get services -n kube-system

在那里你可以看到 heapster 的端口是这样的:

80:31637/TCP 

现在尝试使用集群 IP 和端口访问 heapster API。
像这样的东西:

http://192.168.99.100:31637/api/v1/model/metrics

您现在应该能够看到指标。
有关详细信息,请参阅https://github.com/kubernetes/heapster/blob/master/docs/model.md

于 2018-01-08T10:52:10.830 回答
0

因为你已经安装了 heapster、influxdb 和 grafana。因此,您可以使用以下命令访问 CPU、内存和存储资源。

kubectl top pods --all-namespaces.

此命令允许您访问 pod 的资源消耗。

此外,如果你想访问节点的资源消耗。然后,你可以拍这个命令

kubectl top nodes 
于 2017-11-09T10:47:28.797 回答