无法执行或获取 pod 日志:隧道已关闭

无法执行或获取 pod 日志:隧道已关闭

我们的 GKE 集群遇到了一些问题。以下是我们遇到的错误消息:

  1. 运行命令时kubectl logs -f pod_name,我们收到以下错误:“来自服务器的错误:获取‘https://xxxx:10250/containerLogs/default/xxx’:隧道已关闭。”

  2. 类似地,当尝试使用 在 pod 内部执行命令时kubectl exec -it pod_name -- /bin/bash,我们遇到了错误:“服务器错误:拨号后端错误:隧道已关闭。”

尽管所有节点看起来都很健康并且 kubelet 正在运行,但我们注意到一些与 Google Metrics Agent 和 Autoscaler Agent 相关的错误:

  • 在 Prometheus 发现模块(github.com/prometheus/prometheus/discovery/kubernetes/kubernetes.go:469)中,我们遇到了错误:“无法监视 *v1.Pod:无法列出 *v1.Pod:服务器无法在规定时间内返回响应,但可能仍在处理请求(获取 pod)。”

  • 此外,在节点收集器(collectors/node.go:159)中,我们收到错误:“无法查询 API 服务器中的节点数据。类型:接收器,名称:kubenode,错误:获取‘https://xxxx:443/api/v1/nodes/gke-xxx-xx-pool-xxx?timeout=4.5s’:net/http:请求已取消(等待标头时超出 Client.Timeout)。”

  • 自动缩放器也遇到一个问题:“获取集群状态时出错:等待条件超时。”

此外,在 Google Cloud Console 的控制平面日志中,我们观察到消息“请求过多”,其详细信息如下:resourceName:“apiextensions.k8s.io/v1/customresourcedefinitions”。

我们也无法调度新的 Pod。即使尝试使用 Helm 进行部署,部署仍停留在 0/1。

我们恳请您提供任何帮助来解决这些问题。

谢谢。

相关内容