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