K8S HPA 自定义 Stackdriver - 503 该服务当前不可用 - 避免扩展

K8S HPA 自定义 Stackdriver - 503 该服务当前不可用 - 避免扩展

我们有一个水平 Pod 自动扩缩器 (HPA)安装于gke 集群,大多数时候自动缩放器工作正常。但是(主要是在我们的客户高峰时段)自动缩放器正在堆栈驱动程序错误代码 503

以下是我们遇到的错误:

Failed request to stackdriver api: googleapi: Error 503: The service is currently unavailable., backendError

"apiserver received an error that is not an metav1.Status: &googleapi.Error{Code:503, Message:"The service is currently unavailable.", Body:"{\n  \"error\": {\n    \"code\": 503,\n    \"message\": \"The service is currently unavailable.\",\n    \"errors\": [\n      {\n        \"message\": \"The service is currently unavailable.\",\n        \"domain\": \"global\",\n        \"reason\": \"backendError\"\n      }\n    ],\n    \"status\": \"UNAVAILABLE\"\n  }\n}\n", Header:http.Header(nil), Errors:[]googleapi.ErrorItem{googleapi.ErrorItem{Reason:"backendError", Message:"The service is currently unavailable."}}}" 

现在我有点困惑;谷歌鼓励使用 stackdriver 作为 HPA 的来源(https://cloud.google.com/kubernetes-engine/docs/tutorials/external-metrics-autoscaling),但如果它不是 100% 可用或容错 - 集群就会损坏,因为 pod 无法扩大规模,并且资源会被耗尽。

有人知道这里该如何解决吗?

答案1

这是一个 API 错误,您只会在高峰时段(当您向 Stackdriver API 发出大量请求时)看到此错误。由于它发生在高峰时段,API 无法处理当时的所有请求并变得不可用;但是,这并不意味着 pod 不会扩展。该服务目前只是不可用,它将保留请求并再次发送。可能需要几分钟才能成功响应请求。

相关内容