问题描述
我有一个需要使用主机网络运行的 statefulset,纯粹是出于性能原因。但我也希望能够引用服务名称端点。是否有可能做到这一点? ClusterFirstWithHostNet
不起作用,因为它没有优先使用主机的网络。 dnsConfig
configuration 可能很有希望,但我不知道如何配置它来完成我的要求。
解决方法
这是一个社区维基答案。随意扩展它。
如果应用程序可以选择随机端口在启动期间侦听并在端口繁忙时更改,则可能是可能的。但是,Kubernetes 不参与选择应用程序的端口。
Statefulset
需要无头服务,因此它没有 IP 并且在 coredns 中作为一组 DNS 记录工作。对于同一节点上的副本,记录可能包含相同的 IP,但 SRV 记录实际上可能提供适当的端点。
如需进一步参考,请查看以下来源: