KEDA 错误:得到空响应:external.metrics.k8s.io/v1beta1

Sen*_*mar 2 kubernetes azure-aks horizontal-pod-autoscaling keda

在我的 k8s 集群中安装 keda 并创建一些缩放对象后,我收到以下错误...

无论我运行 EG:“kubectl get pods”什么命令,我都会收到以下错误消息的响应。

如何摆脱以下错误消息。

E0125 11:45:32.766448 316 memcache.go:255]无法获取external.metrics.k8s.io/v1beta1的资源列表:得到空响应:external.metrics.k8s.io/v1beta1

Far*_*mat 5

此错误是由于client-go 中client-go没有可用资源时,它获取所有 ServerGroups。external.metrics.k8s.io/v1beta1当未安装 KEDA 时,external.metrics.k8s.io/v1beta1 不是 ServerGroups 的一部分,因此不会被调用,因此没有问题。

但是当安装 KEDA 时,它会创建一个 ApiService

$ kubectl get apiservice | grep keda-metrics
v1beta1.external.metrics.k8s.io        keda/keda-metrics-apiserver   True        20m
Run Code Online (Sandbox Code Playgroud)

但它不会创建任何 external.metrics.k8s.io 资源

$ kubectl get --raw /apis/external.metrics.k8s.io/v1beta1 | jq .
{
  "kind": "APIResourceList",
  "apiVersion": "v1",
  "groupVersion": "external.metrics.k8s.io/v1beta1",
  "resources": []
}
Run Code Online (Sandbox Code Playgroud)

由于没有资源,client-go 会抛出错误。

解决方法是在空资源组中注册虚拟资源。

请参阅此Github链接以获取更多详细信息。

  • 您能否提供一个有关如何注册虚拟资源的示例,以便我们至少可以隐藏这些错误? (2认同)