GKE 元数据服务端口与 NFS 客户端冲突

GKE 元数据服务端口与 NFS 客户端冲突

我们正在运行启用了 Workload Identity 的 Google Kubernetes Engine(版本 1.18.17-gke.1200)。集群中有 6 个节点。gke-metadata-serverPod 因以下错误而失败的节点数:

元数据服务器意外停止:无法准备元数据服务器:监听 tcp 0.0.0.0:988:绑定:地址已在使用中

netstat -tn在有问题的节点上运行我们看到以下情况:

tcp    0    0 10.0.11.218:988    172.16.1.10:2049    ESTABLISHED -

10.0.11.218 是节点的 IP 地址,而 172.16.1.10 是 Google Filestore 实例的地址。

我猜测该节点上的其他 Pod 正在连接到 Google Filestore(即 NFS)并使用低编号端口,不幸的是,该端口号为 988(每个节点上运行的 GKE 元数据服务都使用端口 988)。

有没有什么方法可以告诉 GKE 或 Pod 在连接到 NFS 时不要使用端口 988?

答案1

诺雷斯夫港mount 选项将告诉客户端使用 1024 以上的源端口:

mount -o noresvport 172.16.1.10:/data /data

当然,这只有在服务器不强制使用特权端口时才有效。对于常规 NFS 服务器,这是通过以下方式实现的不安全导出选项:

/data *(rw,insecure)

相关内容