使用群集外的StatefulSets在Kubernetes上公开MongoDB

tzi*_*zik 5 mongodb google-cloud-platform kubernetes

我按照以下链接中的指南:http: //blog.kubernetes.io/2017/01/running-mongodb-on-kubernetes-with-statefulsets.html

并使用StatefulSets在Kubernetes上设置mongo DB副本集.到目前为止一切顺利,但是如何在群集外公开静态主机名,以便我可以从Google实例中访问它们?

如果我使用节点的IP它将工作正常,但这些可以随时更改(在pod故障和重新启动时使用不同的IP等)...

提前致谢!

小智 -1

您需要公开服务(svc)。正如您所说,pod 根据定义具有不同的 IP。

在https://kubernetes.io/docs/user-guide/petset/提到的示例中,您会注意到服务定义。

foo.default.svc.cluster.local
         |service|
         /       \
| pod-asdf |    | pod-zxcv |
Run Code Online (Sandbox Code Playgroud)

这是您需要关注的。一旦与 DNS 绑定,该服务将为您提供稳定的查找。顺便说一句,StatefulSets 是早期 Pet Sets 的成熟。

  • 这并没有什么帮助。问题是“我如何公开服务”,您的答案是“您需要公开服务”。您链接到的图像来自“什么是 PetSet?”部分。这也没什么好说的。 (4认同)