是否可以在kubernetes中使用环境变量禁用服务发现?

zul*_*ulv 17 kubernetes

我们知道,kubernetes支持2种寻找服务的主要模式 - 环境变量和DNS,我们可以禁用第一种方式并且只选择DNS方式吗?

Ohm*_*men 7

如本PR中所示,此功能将随Kubernetes 1.13一起提供。从PR(由于尚无文档),我希望它是enableServiceLinkspod规范中的字段,默认为true。

编辑:由于已经有一段时间了,公关终于登陆了。将enableServiceLinks其作为可选布尔值添加到Kubernetes PodSpec中

记录:建议使用DNS查找服务端点docker link,并且长期不建议使用环境变量源自的行为


sil*_*fox 4

根据kubernetes v1.8 源代码,使用环境变量禁用服务发现是不可能的.

envVars只暴露服务满足任一条件.

  • 服务与pod相同的命名空间;
  • kubernetesdefault命名空间中的服务;

即使这些环境变量可以被pod模板覆盖envenvFrom在pod模板中定义.

我想知道你的情况是什么,也许我们可以找出一些解决方法.