繁体   English   中英

GKE 中的 Stackdriver 抛出 rpc 错误“无法导出到 Stackdriver”“超出上下文截止日期”

[英]Stackdriver in GKE throws rpc error "Failed to export to Stackdriver" "context deadline exceeded"

我在我的 golang 应用程序容器的 GKE 集群日志中看到以下两行。 该错误是间歇性的(每隔几天出现几个错误)。 我一直找不到太多关于它的信息。

Failed to export to Stackdriver: rpc error = DeadlineExceeded desc = context deadline exceeded

rpc error: code = DeadlineExceeded desc = context deadline exceeded

在某些情况下,docker 或 kubelet 健康检查可能会失败。 这将导致节点在 NotReady 和 Ready 之间摆动。

使用 Cloud Logging 查询,例如:

resource.type="k8s_node"
log_id("kubelet")
resource.labels.node_name=""
(
"Container runtime docker failed!"
OR
"Kubelet is unhealthy!"
OR
"Force shutdown daemon"
)

发布的日志行显示一个 docker 容器被 systemd 基于运行的健康监控脚本杀死。

这个脚本的作用是通过运行docker ps检查 docker 是否健康。 如果此命令失败或未在合理时间内返回,则使用SIGUSR1 dockerd 这将在节点上留下以下可用于解决问题的文件:

/run/docker/daemon-data-<TIMESTAMP>.log
/run/docker/goroutine-stacks-<TIMESTAMP>.log

请注意,由于节点过载和容器请求的 CPU 很少,容器启动速度很慢。

kubectl explain pod.spec.containers.resources.requests.cpu )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM