Firewall
GKE 指標代理記錄許多錯誤
我們已經創建了 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+。