0

Kubernetes 版本:亚马逊 EKS 上的 1.13

我正在尝试按照本指南https://nuvalence.io/building-a-k8s-autoscaler-with-custom-metrics/使用 prometheus-adapter 在我们的 Kubernetes 集群中启用基于 rabbitmq 数据的自动缩放。

但是,运行 kubectl get --raw /apis/external.metrics.k8s.io/v1beta1 | jq .返回Error from server (NotFound): the server could not find the requested resource告诉我由于某种原因不支持/启用外部指标。

自定义的虽然可以,所以kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1 | jq .返回有效数据。

问题是rabbitmq 绝对应该是一个外部指标,我花了几个小时试图让它像自定义一样工作,但没有任何成功。

不知道如何处理外部指标或关于从哪里开始搜索的指示?这个 api 端点应该默认存在还是有一个启用它的扩展?

4

2 回答 2

1

external.metrics.k8s.io不是文档中提到的上游 kube API 的一部分

对于外部指标,这是 external.metrics.k8s.io API。它可以由上面提供的自定义指标适配器提供。

因此,您需要安装自定义指标提供程序,例如GCP stackdriver。我假设您将 EKS 与 prometheus 一起使用,这是我在prometheus-adapter之前使用的一个不错的选择。请注意,API 是v1beta1.custom.metrics.k8s.io

PS:我认为 EKS 1.13 已经被弃用,你可能需要先更新它。

于 2020-08-22T03:52:15.740 回答
0

所以看起来外部指标不是开箱即用的,只需安装 prometheus-adapter helm chart,这个 PR https://github.com/DirectXMan12/k8s-prometheus-adapter/pull/302有一个清晰的演示关于使用外部指标,帮助我找到了解决方案。

于 2020-08-27T14:22:38.330 回答