用途:為service提供dns解析,部署后可以通過service名稱訪問該service,service會轉發到pod,如果不部署dns,可以通過service的IP訪問,但是耦合性較高;
查看service
kubectl get svc
輸出以下內容:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 41h
kubernetes ClusterIP 10.0.0.1 <none> 443/TCP 41h
一、安裝dns
去git獲取yaml
or
使用我們提供的
kubectl apply -f coredns.yaml
注意:clusterIP要和node節點的cat /opt/kubernetes/cfg/kubelet.conf 的clusterDNS一致,否則pod會解析失敗
二、查看dns
kubectl get pods -n kube-system
輸出以下內容:
NAME READY STATUS RESTARTS AGE
coredns-6d8cfdd59d-mw47j 1/1 Running 0 5m45s
kube-flannel-ds-amd64-q8rmk 1/1 Running 0 18h
kube-flannel-ds-amd64-zq7hc 1/1 Running 0 18h
coredns-6d8cfdd59d-mw47j 1/1 Running 0 5m45s
kube-flannel-ds-amd64-q8rmk 1/1 Running 0 18h
kube-flannel-ds-amd64-zq7hc 1/1 Running 0 18h
三、測試DNS可用性
安裝busybox工具
kubectl apply -f bs.yaml
查看我們啟動的pod
kubectl get pods
進入容器內部
kubectl exec -t busybox sh
測試
ping kubernetes