如何在kubernetes中获取kubernetes组件度量数据?

时间:2017-11-08 11:05:15

标签: kubernetes influxdb grafana kubernetes-health-check heapster

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

2 个答案:

答案 0 :(得分:0)

你已经安装了heapster,Influxdb和grafana。因此,您可以使用以下命令来控制CPU,MEMORY和Storage Resouces。

kubectl top pods --all-namespaces

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

此外,如果您想访问节点的资源消耗。那么,您可以拍摄此命令

kubectl top nodes 

答案 1 :(得分: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。

现在使用followng命令从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