我正在尝试在kubernetes集群上设置MongoDB和MongoDB监控代理。
监视代理程序首先在服务端点查询mongodb实例,并接收主机名作为响应。然后它停止使用服务端点,并开始使用主机名连接到失败的实例,因为没有解决方案来解析容器名称。
我认为我可以使用无头服务来实现这一目标,尽管使用无头服务不是一种选择。
有没有办法在Kubernetes中为容器/ pod启用主机名解析或在kube-dns中注入自定义DNS记录?
答案 0 :(得分:0)
您应该为您的用例创建一个StatefulSet。因为您需要您的pod具有唯一标识符。要引用文档,StatefulSets有:
StatefulSet Pod具有唯一标识,该标识由序数,稳定网络标识和稳定存储组成。身份坚持Pod,无论它(重新)安排在哪个节点上。
因此,如果您使用MongoDB的Deployment对象,请将其修改为StatefulSet对象类型。
您的广告连接也将被解析名称。
文档: