参考https://www.jianshu.com/p/bbb673e79c3e
大致描述一下遇到的问题,在上文中,我起了一个mysql容器。并且想在另一个容器中通过域名来访问mysql的3306端口,尝试ping包,发现Dns解析域名是成功了,但是ping不通。
而我在上一篇文章中,访问mysql用的Ip是10.233.104.69,在mysql容器查出来的也是这个Ip。所以一开始怀疑是域名没写正确。
接着查到10.233.46.235是server的Ip,10.233.104.69是pod的Ip,继续怀疑是域名写的不对,想方设法去找pod的域名,但网上搜不到这个概念。
域名这块查了半天没有什么进展,所以又回头看了一下Service的基本概念,发现其实它的Ip就是对外暴露的vip,所以猜测这个Ip不是用来ping的,而是用来直接访问它的端口。尝试用连接这个Ip的3306端口,果然可行。
另外顺便贴一下通过busybox来检查域名
# cat busybox.yaml apiVersion: v1 kind: Pod metadata: name: busybox namespace: default spec: containers: - name: busybox image: registry.cn-hangzhou.aliyuncs.com/yanfulei/busybox:latest command: - sleep - "3600" imagePullPolicy: IfNotPresent restartPolicy: Always # kubectl create -f busybox.yaml pod "busybox" created [root@master0 ~]# kubectl exec busybox nslookup kubernetes Server: 10.233.0.3 Address 1: 10.233.0.3 kube-dns.kube-system.svc.cluster.local Name: kubernetes Address 1: 10.233.0.1 kubernetes.default.svc.cluster.local # kubectl exec busybox nslookup mysql Server: 10.233.0.3 Address 1: 10.233.0.3 kube-dns.kube-system.svc.cluster.local Name: mysql Address 1: 10.233.46.235 mysql.default.svc.cluster.local
本文标题:Kubernetes的Service
文章来源:https://www.cdcxhl.com/article12/cgiddc.html
成都网站建设公司_创新互联,为您提供网站营销、服务器托管、响应式网站、网站设计、品牌网站设计、Google
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联