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