Kubernetes headless 服务
1.Headless 使用场景
场景1.当开发人员不想使用k8s的service的负载均衡时,就可以使用k8s内置的headless service。
场景2.有一些pod与pod内部需要精准访问(比如nacos),也是需要部署为headless service。
headless 它不分配ClusterIp,如果想访问service,只能通过service的域名进行查找访问。
当service 中设定clusterIP:None ,它就是一个headless service
type: ClusterIP
clusterIP:None
查看服务nacos-headless 服务,没有clusterIP
2.访问方式
headless 因为没有ClusterIp,所以不能使用Ip的方式访问,只能使用域名,而且只能在容器内部生效
访问service
[servicename].[namespace].svc.cluster.local
访问单个pod
[podname].[servicename].[namespace].svc.cluster.local
3.查找DNS
进入容器,并查看 /etc/reslove.conf
查看pod内部DNS : 172.16.0.10
nslookup 能够解析到三个pod (安装nslookup服务:yum install -y bind-utils)