应用程序(在Pod内部)如何不使用env var中的hostNetwork:true
就能到达以status.hostIP
运行的daemonSet pod?
考虑在daemonSet中使用dnsPolicy: ClusterFirstWithHostNet
,但无法解析DNS。呼叫者窗格不知道daemonSet窗格名称或IP。
答案 0 :(得分:0)
根据官方的Kubernetes documentation
用于与DaemonSet中的Pod通信的某些可能模式是:
- 推送:将DaemonSet中的Pod配置为将更新发送给另一个 服务,例如统计数据库。他们没有客户。
- NodeIP和已知端口:DaemonSet中的Pod可以使用hostPort,这样 可以通过节点IP来访问Pod。客户端知道节点IP列表 以某种方式,并按惯例知道港口。
- DNS :使用相同的pod选择器创建无头服务,然后 使用端点资源发现DaemonSet或检索多个A记录 来自DNS。
- 服务:使用相同的Pod选择器创建服务,然后使用 服务以到达随机节点上的守护程序。 (无法达成具体目标 节点。)
This线程可能也有帮助。