无法连接到服务器:拨打 tcp 10.0.0.1:443:GKE pod 中出现 i/o 超时错误

问题描述 投票:0回答:3

在 GKE pod 中运行 kubectl get pods 命令时,我们经常收到以下错误。有时,当在 2 个节点上启动 2 个 pod(部署)时,在一个 pod 上,该命令成功执行,而在另一个 pod 上,该命令在同一 Docker 映像上的另一个 pod 上出现以下错误:

  • 无法连接服务器:拨打 tcp 10.0.0.1:443: i/o timeout

在 GKE 中运行 pod(chaos-mesh 主控制器:chaos-controller-manager-d945b5d5b-f2pr7)时,我们也收到以下错误,看起来与上面类似:

  • “错误”:“获取“https://10.0.0.1:443/api?timeout=32s”:拨打 tcp 10.0.0.1:443:i/o 超时”}
  • 获取API组资源失败{"error": "Get "https://10.0.0.1:443/api?timeout=32s": dial tcp 10.0.0.1:443: i/o timeout"}

任何人都可以提出任何解决方案吗?如您所知,谷歌不提供任何即用即付的支持。这让我们陷入了非常困难的境地,即使我们付了钱,却得不到支持。 谢谢

google-kubernetes-engine
3个回答
1
投票

tldr;请检查您的 GKE 集群上的防火墙规则、CNI 配置和网络策略。

看起来

10.0.0.1:443
是“kubernetes”服务的端点,该服务用于集群内 pod 访问 kube-apiserver。问题是某些 Pod 无法访问此端点,很可能是 Pod 网络配置错误。请确保 CNI 运行良好并且 kube-proxy 创建正确的 iptables 或 lvs 规则


0
投票

就我而言,这是因为 GKE 中的控制平面仅限于授权网络,而我的虚拟机的外部 IP 地址不在那里,将我的 IP 添加到授权网络列表后,它就可以工作了。


0
投票

就我而言,我必须允许安全组中的 443 才能使其正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.