6.2 Cluster IP 底层实现
Cluster IP 是一个虚拟IP,是由K8s节点上的iptables规则管理的。
使用类似轮询的方法访问Pod。
6.3 DNS 访问Service
在Cluster中,除了可以通过Cluster IP访问 services, K8s还提供了更为方便的DNS访问。
kubeadm部署时会默认安装kube-dns组件。
kube-dns是一个DNS服务器。每当有新的Service被创建,kube-dns会添加该service的DNS记录。Cluster中的Pod可以通过
<SERVICE_NAME>.<NAMESPACE_NAME> 访问service。
比如可以用httpd-svc.default(service name. namespace name) 访问service httpd-svc.(注意: 这是在port里访问)
kubectl run busybox --rm -it --image=busybox /bin/sh # 启动一个port,并且进入到Port内
kubeusr@GalaxyKubernetesMaster:~$ kubectl exec -it busybox-577868d55b-mn2m9 bin/sh # 或者先启动Port 然后进入
/ # wget httpd-svc.default:8080 # 在Port内部访问service
# 因为都属于同一个namespace default, 说与可以省略default
Connecting to httpd-svc.default:8080 (10.101.103.107:8080)
index.html 100% |*************************************************************************************************************| 45 0:00:00 ETA
/ #
kubectl get namespace # 得到所有的namespace
6.4 外网如何访问 Service