问题描述
我已经阅读了此处提到的文档 gitlink 以及 doclink
但是如果我可以使用任何 kubernetes 命令获取资源类型的 dns,我的工作就会容易得多。 也试过这个commands-link
例如,我想获取在 db-service
内的 dev
命名空间中运行的服务 svc.cluster.local
的 dns 名称
db-service.dev.svc.cluster.local
有什么指点吗?
解决方法
如果需要,可以在 pod 中查询:
How do I run a container from the command line in Kubernetes (like docker run)?
Retrieve the full name of a service in Kubernetes
使用具有一些 DNS 实用程序的 pod
kubectl run tmp-shell --rm -i --tty --image tutum/dnsutils -- /bin/bash
然后你可以运行
root@tmp-shell:/# nslookup db-service
Server: 10.2.32.10
Address: 10.2.32.10#53
Name: db-service.dev.svc.cluster.local
对于单线,请参阅:https://serverfault.com/questions/929211/kubernetes-pod-dns-resolution
,尝试命令
kubectl get svc
第一列是内部 DNS 名称。 如果类型为 LoadBalancer,则 EXTERNAL-IP 列将显示外部 DNS 名称。