【问题标题】:AKS Kube Proxy doesn't expose metricsAKS Kube 代理不公开指标
【发布时间】:2020-09-21 09:02:49
【问题描述】:

我试图用 Prometheus 抓取 AKS kube-proxy 指标但没有成功,原因是某些指标只暴露给 localhost,如下例所示:

tcp LISTEN 0  16384  127.0.0.1:10249 *:*                    

AKS 版本:1.16.9

为了验证这一点,我还尝试将其添加到 kube-proxy DeamonSet 中:

--metrics-bind-address=0.0.0.0

Pod 重启后我可以看到指标,但几分钟后 Azure 会将版本恢复到托管版本,删除指标绑定地址。

【问题讨论】:

  • 无论您出于何种原因尝试自己执行此操作,因为 Azure Monitor for Containers 已经做得很好了。 docs.microsoft.com/en-us/azure/azure-monitor/insights/…
  • 是的,我们正在使用 Prometheus 和 Grafana 来抓取指标! :) 我知道 azure monitor,但我们想使用另一个堆栈,因为我们在另一个云的另一个集群中有其他应用程序。因此,我们希望我们拥有的所有集群都具有相同的配置。
  • 所以不能像普通的 Kubernetes 集群那样用 prometheus 抓取这些服务吗?
  • 对于 AKS 上的托管服务,它支持上述文章中指出的方式,但如果不是,那么截至目前我看不到对它的支持。

标签: azure kubernetes prometheus azure-aks kube-proxy


【解决方案1】:

在 Github 上的 AKS/issues 中有以下主题:“kube-proxy 无法获取指标 #1395”。

截至 2020 年 9 月,该问题尚未在 AKS 1.16.9、1.16.10、1.17.7...上得到解决...

指标仅在本地可用,它似乎只监听本地主机,不能从外部访问。 Prometheus 无法访问。

讨论继续在“kube-proxy #1695 的 Prometheus 抓取指标”。 该线程中的最新帖子是您的,所以我假设您现在完全了解在 AKS 上抓取的确切工作原理:-D(与 Azure Monitor 相比)。

UPD。只是为了“搜索引擎优化”(github中的答案):

palma21 2 天前发表评论

出于安全考虑,对于 1.15 及更低版本的集群,无法在队列中更改此设置。现在我们来看看 1.15 已经被删除了。

【讨论】:

  • 我确切地知道这是如何工作的 :) 但没有人能解释这是否会更新。也许这永远不会发布,只需要了解是否有其他方法可以通过 Prometheus 获取这些信息。如果您不知道,那么您可以不回答:D
  • @TommyJimmyEmiliano,而你渴望只用“外部”普罗米修斯来刮它。我说的对吗?
  • 我已经设置了 Prometheus 服务器,并且我的所有应用程序都已经公开了最终在 Grafana 中可视化的指标。由于我们在不同的云中有其他集群,我们选择使用 Prometheus 并有一个通用的监控架构。现在我也可以使用 Azure Monitor 来抓取 AKS 中的指标,但我猜你可以看到我的问题。也不明白为什么这些指标根本没有公开。
  • prometheus.io/docs/prometheus/latest/federation 我猜你一直在考虑这样的事情? “为什么根本不公开这些指标”
  • 我们已经有了 Prometheus 联盟,但这并不能解决我的问题 :) 这是一个托管解决方案
猜你喜欢
  • 1970-01-01
  • 2020-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-20
  • 2021-01-03
  • 1970-01-01
相关资源
最近更新 更多