实验1:statefulset + headless service

目的: 创建两个Nginx Pod, 然后再 Pod-a中能 curl Pod-Name.svcName
sts中是能成功的。
image.png

验证pod的dns,启动一个busybox pod,然后执行 nslookup 命令
image.png
因此,curl podName.srvName 能成功。

实验2: deployment + headless service

但是,在 deployment pod中执行 curl 却失败了,这是为什么呢?
image.png
排查过程:
启动一个busybox pod,然后执行 nslookup 命令,查看该service对应的后端Pod列表:发现pod的dns是 podIP.svcName.xxx
image.png

于是,在pod中使用的curl命令是:
image.png

ok,验证完成。

reference:
https://www.cnblogs.com/cheyunhua/p/16212246.html
https://pandaychen.github.io/2019/10/20/K8S-HEADLESS-SVC/


hehe2016
0 声望0 粉丝