如何通过kubernetes dns 找到service 的port


用kubernetes 的skydns 搭建 了一个DNS服务,
[root@SHCLITVM0603 kubernetes-dns]# kubectl describe service --namespace=kube-system
Name:           kube-dns
Namespace:      kube-system
Labels:         k8s-app=kube-dns,kubernetes.io/cluster-service=true,kubernetes.io/name=KubeDNS
Selector:       k8s-app=kube-dns
Type:           ClusterIP
IP:         10.254.217.196
Port:           dns 53/UDP
Endpoints:      172.17.60.3:53
Port:           dns-tcp 53/TCP
Endpoints:      172.17.60.3:53
Session Affinity:   None
No events.


现在可以通过DNS 找到service的IP,但是端口貌似找不到,

[root@SHCLITVM0603 kubernetes-dns]# kubectl exec busybox -- nslookup _dns-tcp._tcp.kube-dns.kube-system
Server:    10.254.217.196
Address 1: 10.254.217.196

Name:      _dns-tcp._tcp.kube-dns.kube-system
Address 1: 10.254.217.196

这个SRV 记录只找到了IP ,端口并没有显示,不知为什么
已邀请:

xiaolunsanguo - 京东商城-基础平台部-JDOS团队

赞同来自: styshoo


dns本来就只是域名解析,实现的是从域名到ip的解析转换,与端口无关。

xiphis

赞同来自:


为什么要找到端口? 启动service难道不预先配置端口。

如果是nodeport方式,那么直接api取端口信息吧,或者从etcd的api去取。

要回复问题请先登录注册