openshift集群中如何解析*.svc地址
当我在openshift中创建应用程序时,它会在*.svc地址中公开一个服务openshift集群中如何解析*.svc地址,openshift,Openshift,当我在openshift中创建应用程序时,它会在*.svc地址中公开一个服务 oc project Using project "coco" on server "https://master.lab.example.com:8443" oc get svc -o wide NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR ruby-ex 172.30.18.144 <none>
oc project
Using project "coco" on server "https://master.lab.example.com:8443"
oc get svc -o wide
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
ruby-ex 172.30.18.144 <none> 8080/TCP 9h app=ruby-ex,deploymentconfig=ruby-ex
因此,它的工作如预期,但我找不到谁解决这个域名。仍然来自同一节点
dig +short ruby-ex.coco.svc
不输出任何内容。因此,我想知道如何找到正确的ip
编辑1:按照格雷厄姆的答案,我的理解进度
文件/etc/resolv.conf包含以下内容:
search lab.example.com cluster.local
nameserver 10.0.2.15
我可以看到10.0.2.15属于节点,dnsmask侦听端口53
netstat -tulnp | grep 10.0.2.15
tcp 0 0 10.0.2.15:53 0.0.0.0:* LISTEN 1274/dnsmasq
udp 0 0 10.0.2.15:53 0.0.0.0:* 1274/dnsmasq
进入dnsmask的形态
cat /etc/dnsmasq.d/node-dnsmasq.conf
server=/in-addr.arpa/127.0.0.1
server=/cluster.local/127.0.0.1
及
显示进程openshift正在侦听127.0.0.1:53
当我使用此服务器挖掘时,连接超时
dig +short @127.0.0.1 ruby-ex.coco.svc
;; connection timed out; no servers could be reached
但是对于集群中的已知域,它会正确地回答
dig +short @127.0.0.1 node1.lab.example.com
172.25.250.11
我只是无法在cluster.local和*.svc地址之间建立链接,也无法解释为什么curl解析地址而不是dig
编辑2
由于对/etc/resolv.conf理解不好,我最终找到了答案。 使用resolv.conf中的search指令,尝试ruby-ex.coco.svc,然后尝试ruby-ex.coco.svc.cluster.local,依此类推,尝试每个域。事实上
dig +short @127.0.0.1 ruby-ex.coco.svc.cluster.local
172.30.18.144
正常工作,感谢您的帮助。OpenShift内部有一个DNS,用于处理请求。查看
/etc/resolv.conf
,它将有如下内容:
nameserver 172.31.39.82
search myproject.svc.cluster.local svc.cluster.local cluster.local ap-southeast-2.compute.internal
options ndots:5
创建时,服务名称对应的主机名会添加到内部DNS。谢谢Graham,我能更好地理解(我编辑了我的问题),但我无法在cluster.local和*.svc地址之间建立链接,我也无法解释为什么curl解析地址而不是digI,我最终找到了答案,由于我对/etc/resolv.conf的理解不好。使用resolv.conf curl中的search指令,尝试ruby-ex.coco.svc,然后尝试ruby-ex.coco.svc.cluster.local。我再次编辑我的答案。谢谢你的帮助。
dig +short @127.0.0.1 ruby-ex.coco.svc.cluster.local
172.30.18.144
nameserver 172.31.39.82
search myproject.svc.cluster.local svc.cluster.local cluster.local ap-southeast-2.compute.internal
options ndots:5