首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >K8s服务不可点击

K8s服务不可点击
EN

Stack Overflow用户
提问于 2019-01-26 02:27:34
回答 1查看 1.7K关注 0票数 2

我在minikube集群中有一个k8s服务/部署(在default命名空间中名为amq ):

代码语言:javascript
复制
D20181472:argo-k8s gms$ kubectl get svc --all-namespaces
NAMESPACE     NAME         TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)           AGE
argo          argo-ui      ClusterIP      10.97.242.57     <none>        80/TCP            5h19m
default       amq          LoadBalancer   10.102.205.126   <pending>     61616:32514/TCP   4m4s
default       kubernetes   ClusterIP      10.96.0.1        <none>        443/TCP           5h23m
kube-system   kube-dns     ClusterIP      10.96.0.10       <none>        53/UDP,53/TCP     5h23m

我制作了infoblox/dnstools,并尝试了nslookupdigping of amq.default,其结果如下:

代码语言:javascript
复制
dnstools# nslookup amq.default
Server:     10.96.0.10
Address:    10.96.0.10#53

Name:   amq.default.svc.cluster.local
Address: 10.102.205.126

dnstools# ping amq.default
PING amq.default (10.102.205.126): 56 data bytes
^C
--- amq.default ping statistics ---
28 packets transmitted, 0 packets received, 100% packet loss
dnstools# dig amq.default

; <<>> DiG 9.11.3 <<>> amq.default
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 15104
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;amq.default.           IN  A

;; Query time: 32 msec
;; SERVER: 10.96.0.10#53(10.96.0.10)
;; WHEN: Sat Jan 26 01:58:13 UTC 2019
;; MSG SIZE  rcvd: 29

dnstools# ping amq.default
PING amq.default (10.102.205.126): 56 data bytes
^C
--- amq.default ping statistics ---
897 packets transmitted, 0 packets received, 100% packet loss

(注意:直接敲击ip地址会得到相同的结果)

诚然,我对DNS的深层次工作不太了解,所以我不知道为什么我可以查找和挖掘主机名,但不知道为什么不使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-26 06:03:23

诚然,我对DNS的深层次工作不太了解,所以我不知道为什么我可以查找和挖掘主机名,但不知道为什么不使用它。

因为Service IP地址是由iptables或ipv造成的集群想象的图形,而实际上并不存在。您可以在运行iptables -t nat -L -n (或ipvsadm -ln)的任何节点上看到它们,如有用的调试[-ing]服务页面所描述的那样

由于它们不是绑定到实际NIC的真正in,所以除了在Service资源中注册的端口号之外,它们不响应任何通信量。针对服务测试连接性的正确方法是使用类似curlnetcat之类的内容,并使用您期望应用程序流量通过的端口号。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54375174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档