问题描述
Kubernetes版本:Amazon 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终结点默认情况下应该存在,还是有启用它的扩展名?
解决方法
external.metrics.k8s.io
不是docs中提到的上游kube API的一部分
对于外部指标,这是external.metrics.k8s.io API。它可以由上面提供的自定义指标适配器提供。
因此,您需要安装自定义指标提供程序,例如GCP stackdriver。我假设您将EKS与Prometheus一起使用,这是我在prometheus-adapter之前使用的一个不错的选择。请注意,该API虽然是v1beta1.custom.metrics.k8s.io
。
PS:我认为EKS 1.13已被弃用,您可能需要先对其进行更新。
,因此,似乎仅通过安装prometheus-adapter舵图就不会出现外部指标,而此PR https://github.com/DirectXMan12/k8s-prometheus-adapter/pull/302上有关于使用外部指标的清晰演示,可以帮助我寻求解决方案。