Kubernetes和容器名称解析

时间:2017-03-25 16:34:09

标签: mongodb dns kubernetes kube-dns

我正在尝试在kubernetes集群上设置MongoDB和MongoDB监控代理。

监视代理程序首先在服务端点查询mongodb实例,并接收主机名作为响应。然后它停止使用服务端点,并开始使用主机名连接到失败的实例,因为没有解决方案来解析容器名称。

我认为我可以使用无头服务来实现这一目标,尽管使用无头服务不是一种选择。

有没有办法在Kubernetes中为容器/ pod启用主机名解析或在kube-dns中注入自定义DNS记录?

1 个答案:

答案 0 :(得分:0)

您应该为您的用例创建一个StatefulSet。因为您需要您的pod具有唯一标识符。要引用文档,StatefulSets有:

  

StatefulSet Pod具有唯一标识,该标识由序数,稳定网络标识和稳定存储组成。身份坚持Pod,无论它(重新)安排在哪个节点上。

因此,如果您使用MongoDB的Deployment对象,请将其修改为StatefulSet对象类型。

您的广告连接也将被解析名称。

文档: