我在机器上运行带有Minikube节点的Kuberentes。各个Pod通过其.metadata.name相互访问,我想为该名称创建一个自定义域。
即一个pod通过elasticsearch.blahblah.com访问Elastic的机器
感谢任何建议
答案 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以获得更多信息。