我们正在运行启用了 Workload Identity 的 Google Kubernetes Engine(版本 1.18.17-gke.1200)。集群中有 6 个节点。二gke-metadata-server
Pod 因以下错误而失败的节点数:
元数据服务器意外停止:无法准备元数据服务器:监听 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)