一、Pod的DNS域名
Pod作为集群中提供具体服务的实体,也可以像Service一样设置DNS域名。另外,系统为客户端应用Pod提供需要使用的DNS策略提供多种选择。
对Pod来说,Kubernetes会为其设置一个<pod-ip>.<namespace>.pod.<cluster-domain>格式的DNS域名,其中Pod IP部分需要用"-"替换"."符号,例如
系统为webapp-p598v这个pod设置的DNS域名为10-244-2-3.default.pod.cluster.local
[root@master ~]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
busybox 1/1 Running 3 2d17h 10.244.1.3 node3 <none> <none>
webapp-p598v 1/1 Running 0 3d3h 10.244.2.3 node4 <none> <none>
webapp-wj5q7 1/1 Running 0 3d3h 10.244.3.2 node2 <none> <none>
[root@master ~]# kubectl exec -it webapp-wj5q7 bash
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
root@webapp-wj5q7:/usr/local/tomcat# ping 10-244-2-3.default.pod.cluster.local
PING 10-244-2-3.default.pod.cluster.local (10.244.2.3) 56(84) bytes of data.
64 bytes from 10-244-2-3.webapp.default.svc.cluster.local (10.244.2.3): icmp_seq=1 ttl=62 time=2.11 ms
64 bytes from 10-244-2-3.webapp.default.svc.cluster.local (10.244.2.3): icmp_seq=2 ttl=62 time=0.889 ms
^C
--- 10-244-2-3.default.pod.cluster.local ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 0.889/1.500/2.111/0.611 ms
root@webapp-wj5q7:/usr/local/tomcat#
对于Depoyment或Daemonset类型创建的Pod,Kubernetes会为每个Pod有以其IP地址和控制器名称设置一个DNS域名,格式<pod-ip>.<deployment/daemonset-name>.<namespace>.svc.<cluster-doamin>,其中Pod IP地址段字符串需要用“-”替代“.”符号,例如:
Pod地址为10.244.3.2,由ReplicationC