是否可以将 pod 配置为使用 `hostNetwork` 进行优先级排序,但仍然引用内部服务端点?

问题描述

我有一个需要使用主机网络运行的 statefulset,纯粹是出于性能原因。但我也希望能够引用服务名称端点。是否有可能做到这一点? ClusterFirstWithHostNet 不起作用,因为它没有优先使用主机的网络。 dnsConfig configuration 可能很有希望,但我不知道如何配置它来完成我的要求。

解决方法

这是一个社区维基答案。随意扩展它。

如果应用程序可以选择随机端口在启动期间侦听并在端口繁忙时更改,则可能是可能的。但是,Kubernetes 不参与选择应用程序的端口

Statefulset 需要无头服务,因此它没有 IP 并且在 coredns 中作为一组 DNS 记录工作。对于同一节点上的副本,记录可能包含相同的 IP,但 SRV 记录实际上可能提供适当的端点。

如需进一步参考,请查看以下来源:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...