2

我已经设置了一个裸机集群,并希望为我的应用程序提供不同类型的共享存储,其中之一是我通过goofys挂载到通过 NFS 导出的 pod 的 s3 存储桶。然后,我使用 NFS 客户端配置器挂载共享以自动向 pod 提供卷。

抛开性能评论不谈,问题是 nfs 客户端配置程序通过节点的操作系统挂载 NFS 共享,所以当我将服务器名称设置为 NFS pod 时,它被传递到节点并且它无法挂载,因为它没有路由到服务/pod。

到目前为止,唯一的解决方案是将服务配置为 NodePort,通过节点上的 ufw 阻止外部连接,并将客户端配置器配置为连接到 127.0.0.1:nodeport。

我想知道节点是否有办法使用服务的 dns 名称访问集群服务?

4

2 回答 2

1

我已经设法解决了我的问题,即购买配置 NFS 客户端配置程序以使用服务的 clusterIP 而不是 dns 名称,因为节点无法将其解析为 IP,但它确实有到 IP 的路由。由于除非我删除服务,否则 IP 将保持分配状态,因此这是可扩展的,但当然不能轻松自动化,因为重新部署 nfs 服务器 helm 图表会更改服务的 IP。

于 2019-11-12T17:39:14.307 回答
0

我建议您在外部 dns 服务器上为 NFS 服务 ip 配置一个域名,然后将您的节点指向该域名以访问 NFS 服务。对于 NFS 服务的集群 ip,您可以使用自定义值文件将 ip 固定在 helm chart 中。

于 2019-11-13T05:21:58.613 回答