Kubernetes自定义域名

时间:2018-06-28 08:05:19

标签: kubernetes

我在机器上运行带有Minikube节点的Kuberentes。各个Pod通过其.metadata.name相互访问,我想为该名称创建一个自定义域。

即一个pod通过elasticsearch.blahblah.com访问Elastic的机器

感谢任何建议

1 个答案:

答案 0 :(得分:1)

由于在minikube中默认启用了kube-DNS插件,因此默认情况下,您应该为pod设置DNS记录。

要检查kube-dns插件状态,请使用以下命令:

kubectl get pod -n kube-system

请在下面找到群集附加DNS服务器的工作方式:

一个可选的(尽管强烈建议)群集附加组件是DNS服务器。 DNS服务器监视Kubernetes API中的新服务,并为每个服务创建一组DNS记录。如果已在整个群集中启用DNS,则所有Pod都应能够自动对服务进行名称解析。

例如,如果您在Kubernetes命名空间“ my-ns”中有一个名为“ my-service”的服务,则会创建“ my-service.my-ns”的DNS记录。通过简单地为“ my-service”进行名称查找,“ my-ns”命名空间中存在的Pod应该能够找到它。存在于其他命名空间中的Pod必须将该名称限定为“ my-service.my-ns”。这些名称查找的结果是群集IP。

Kubernetes还支持命名端口的DNS SRV(服务)记录。如果“ my-service.my-ns”服务具有名为“ http”且协议为TCP的端口,则可以对“ _http._tcp.my-service.my-ns”执行DNS SRV查询以发现用于“ http”。

Kubernetes DNS服务器是访问ExternalName类型的服务的唯一方法。

您可以按照Configure DNS Service文档进行配置说明。

此外,您可以检查DNS for Services and Pods以获得更多信息。