【问题标题】:using web API from Heapster in kubernetes在 kubernetes 中使用 Heapster 的 Web API
【发布时间】:2018-08-15 13:02:55
【问题描述】:

我已经在我的 Kubernetes 集群中安装了 Heapster。我可以从命令行(例如 kubectl top pods)和 Kubernetes 网络面板提供资源使用情况。

我正在尝试通过 Heapster 的 Web API 获取资源使用情况。实际上,我想从 Web API 获取节点、pod 或命名空间的资源使用情况(例如:ram 和 cpu)。

Kubernetes 中有一个 web api http://localhost:8001/swagger-2.0.0.json,但没有任何用于资源使用或 Heapster 数据的 API。

有没有办法通过 Kubernetes 中的 Web API 获取资源使用情况?

谢谢

【问题讨论】:

  • 嗨,Metrics-server 是 heapster 的继承者。以下链接提供了见解monitoring_architecture
  • @SureshVishnoi 你能详细解释一下吗?
  • Metric-server 通过 Kube-Api Server 收集来自 kubelet(节点 metics、pod 指标等)的所有信息。 Api-server 公开一个端点,以便调度程序、HPA 和 kubectl 可以访问 metics。这些组件使用这些数据完成工作。例如kubectl top pods 显示来自 api-server 的公开 api 的结果。
  • @SureshVishnoi 感谢您的解释。所以我已经安装了 metrics-server 。如何通过API从中获取数据?
  • @SureshVishnoi 安装metrics-server后,Kubernetes API中没有任何端点名称metrics.k8s.io/v1beta1

标签: kubernetes heapster


【解决方案1】:

问题已在上述评论部分得到解答。

为了访问Node和Pod Metrics,最好使用Metrics_server,它是heapster的继承者。

指标服务器通过汇集来自 Kubelet 的数据来收集节点和 Pod 的 CPU 和内存使用情况。

查看节点和 Pod 指标:

kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes"

kubectl get --raw "/apis/metrics.k8s.io/v1beta1/pods"

【讨论】:

  • 是否有仅适用于节点和 pod 的端点?没有端点可以从命名空间获取数据吗?
  • kubectl get --raw "/apis/metrics.k8s.io/v1beta1/namespaces"的时候,我给了Error from server (NotFound): the server could not find the requested resource。你知道那个端点是什么吗?
  • Node 和 Pod(containers) 是具体的东西,这意味着它们正在运行,因此,我们可以收集 CPU 和 RAM 等指标。命名空间是一个抽象概念。我们需要找到 Api 服务器的 Schema 才能了解命名空间的指标。例如,在命名空间下,Pod 的指标状态是什么。你知道我的意思
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-07
  • 2019-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多