如何解决在satrefulset中运行的pod是否有可能获得在不同statefulset中运行的所有pod的主机名?
我有一个在有状态集中运行的Pod,但是它需要知道在另一个有状态集中运行的所有Pod的主机名或地址。第二个有状态集是由单独的头盔图创建的。吊舱可以动态解决吗?我可以通过类似于设置.Status.ip
的env将此信息注入到pod中吗?
编辑:每个statefulSet都有自己的无头服务
解决方法
正如评论中所讨论的,此处的方法是使用服务资源,因为这将为您提供群集中的静态DNS,以到达该服务所针对的所有pod。
该服务的DNS是:
- 如果您从同一名称空间访问服务名称
-
<my-service-name>.<namespace-name>.svc.cluster.local
(如果您是从另一个命名空间访问的,其中cluster.local
是群集域,根据群集配置的不同,群集域可能会有所不同 )
如果您进一步需要更多配置选项,例如当您要将图表部署到群集域实际上可能不同的不同云环境中时,可以使用kustomize.io在应用时调整配置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。