【发布时间】:2019-09-13 13:12:18
【问题描述】:
我目前正在尝试创建一个 X pod 集群,每个 pod 都有一个个人持久卷。为此,我创建了一个带有 X 个副本的 StateFulSet 和一个 PersistentVolumeClaimTemplate 这部分正在工作。
问题在于似乎不可能像 deployment 那样使用 LoadBalancer 公开这些 pod(因为有状态集中的 pod 的唯一性)。
此时我试图将其公开为一个简单的部署女巫不起作用,我发现的唯一方法是一个接一个地公开每个 pod(我没有测试它,但我在 @ 上看到了它987654321@) 但它的可扩展性不高……
我没有在任何云提供商平台上运行 kubernetes,请避免使用专有命令行。
【问题讨论】:
-
如果 pod 如此独特 - 为什么要将它们全部作为一个 StatefulSet 运行?您应该将它们作为独立部署运行并像往常一样使用负载均衡器。
-
pod 做同样的事情,它们保持以太坊区块链同步(更准确地说),然后我只希望它们的持久存储是唯一的。而且部署中不可能有 volumeClaimTemplate。
-
有状态集并没有你想象的那么可扩展。这主要是由于它们的独特身份和持久性规定。您可能希望在它们之前创建无头服务,并拥有另一个将这些 pod 公开为普通服务的服务。关于通过负载均衡器公开所有这些,我认为这不是一个好主意。
-
即使我尝试过的方式不是一个好主意,它也不起作用......但在我不公开它们的情况下,我如何向那些豆荚请求信息而不负载均衡器?
-
据我所知,sataefulset 不受 deploy 或 rs 或 rc 的约束。要连接,您肯定需要服务。我建议你看看kubernetes.io/docs/tutorials/stateful-application/…
标签: kubernetes load-balancing statefulset