问题描述
我知道有几个与此问题类似的问题。但就我而言,这个问题只发生在 GCP 上。我们已经在 AKS (Azure) 中运行我们的服务将近一年,没有发生过一次。在我们迁移到 GCP GKE 之后,我们的 Python 应用程序的一些请求陷入了错误:Unable to find the server at www.googleapis.com
。在大多数情况下,请求有效,所以它似乎是随机的。我已经尝试增加 TCP 超时以及 Cloud Nat 中每个 VM 实例的最小最小端口数。我们正在使用 GKE 运行服务,并为网络设置了 Cloud Nat 网关。
GCP 上是否有任何可能导致此问题的专有设置?
解决方法
我想出了问题所在。 kube-dns 服务被调度到遭受高内存压力的节点,导致 kube-dns 被驱逐并重新启动。在此期间,某些请求将无法解决。为了解决这个问题,我创建了一个专用于 kube-system 服务的节点池,然后编辑了 kube-system 部署并设置了一个 nodeSelector,以便它们始终被安排到安全节点。之后,问题就停止了。