Firewall

GKE 指標代理記錄許多錯誤

  • April 25, 2022

我們已經創建了 GKE 集群,並且我們從 gke-metrics-agent 收到錯誤。錯誤每 cca 30 分鐘出現一次。總是相同的 62 個錯誤。

所有錯誤都有標籤k8s-pod/k8s-app: “gke-metrics-agent”

第一個錯誤是:

error   exporterhelper/queued_retry.go:245  Exporting failed. Try enabling retry_on_failure config option.  {"kind": "exporter", "name": "googlecloud", "error": "rpc error: code = DeadlineExceeded desc = Deadline expired before operation could complete."  

這個錯誤後面跟著這些錯誤的順序

  • “go.opentelemetry.io/collector/exporter/exporterhelper.(*retrySender).send”
  • “/go/src/gke-logmon/gke-metrics-agent/vendor/go.opentelemetry.io/collector/exporter/exporterhelper/queued_retry.go:245”
  • go.opentelemetry.io/collector/exporter/exporterhelper.(*metricsSenderWithObservability).send
  • /go/src/gke-logmon/gke-metrics-agent/vendor/go.opentelemetry.io/collector/exporter/exporterhelper/metrics.go:120

有這樣的 cca 40 錯誤。兩個突出的錯誤是:

- error exporterhelper/queued_retry.go:175  Exporting failed. Dropping data. Try enabling sending_queue to survive temporary failures.  {"kind": "exporter", "name": "googlecloud", "dropped_items": 19}"

- warn  batchprocessor/batch_processor.go:184   Sender failed   {"kind": "processor", "name": "batch", "error": "rpc error: code = DeadlineExceeded desc = Deadline expired before operation could complete."}"

我試圖在Google上搜尋這些錯誤,但我找不到任何東西。我什至找不到 gke-metrics-agent 的任何文件。

我嘗試過的事情:

  • 檢查配額
  • 將 GKE 更新到更新版本(目前版本為 1.21.3-gke.2001)
  • 更新節點
  • 禁用所有防火牆規則
  • 將所有權限授予 k8s 節點

我可以提供有關我們的 kubernetes 集群的更多資訊,但我不知道哪些資訊可能對解決這個問題很重要。

**“超過截止日期”**是一個已知問題,指標通過 GKE Metrics 代理髮送到 Cloud Monitoring,該代理建立在 Open Telemetry 之上。目前有以下兩種解決方法來解決該問題:

1.更新超時

由於新版本包含將預設超時時間從 5 秒增加到 12 秒的更改。因此,您可能需要使用可以修復此 rpc 錯誤的新版本重建和重新部署工作負載。

2.要使用更高的GKE版本,這個問題已經修復了gke-metrics-agent版本:1.18.6-gke.6400+ 1.19.3-gke.600+ 1.20.0-gke.600+。

引用自:https://serverfault.com/questions/1080732