直 kubectl -n kube-system get svc
最後一個10是固定的
mysrv 是服務, 後面接的三個 pod
kubectl describe service kube-dns -n kube-system 描述服務 後面加 namespace
coredns (兩個pod) 的名稱
kube-dns (ip不換) 底下兩個服務 coredns(ip常常換)
dns: 做名稱解析
headless 裡面的 pod 都是執行不同的服務
kubectl run d1 --rm -it --image=quay.io/cloudwalker/alpine
貝殼程式 進到虛擬終端機
k8s domain name server 10.98.0.10
(講義沒寫到) 下 ping -c 2 www.hinet.net
exit
cd wulin 再繼續 p.50 指令 deployment 產生三個pod, 其中兩個pod是給 p.51 跟 p.52兩個服務使用
p.52 svc-headless 是因為其最後一行 clusterIP 是 none
kg all
svc-headless.default.svc.k8s.org default 是namespace (是自己取), svc 是固定, k8s.org 是自己取 domain名稱
kube-dns.kube-system.svc.k8s.org
(kube-dns: k8s domain name server) (kube-system: k8s 系統服務) (svc: 固定的)
exit 離開 nslookup 命令
p.55 第一行 需改成 kubectl run d1 --rm -it --image=quay.io/cloudwalker/alpine
ping svc-headless.default.svc.k8s.org
p.56 處理完 出現以下
p.57 58 建立完後, 到 p.59 執行 shell 後 可直接用 ping -c 1 b1.dt 看ip (此為 兩個pod 互ping)
執行完 p.59 60 可執行 b2 shell 去ping b1, 如果要用 b1 shell 去 ping b2, 需刪掉兩個 pod, 將 p.60 dns config 加入到 b1 就可以去ping b2
可以用 nslookup 接著打 server 10.98.0.10 在打 dt.default.svc.k8s.org 會出現兩個address
練習題: 到 nano yaml/twoc.yml 底下 加入
dnsConfig:
searches:
- dt.default.svc.k8s.org
但是 裡面 要加入labels (busybox), hostname (twoc) 跟 subdomain (dt)
kubectl exec -it twoc -- s
然後用 nslookup 打 server 10.98.0.10 在打 twoc.dt.default.svc.k8s.org 會出現對應 ip
restartPolicy 只能設定 OnFailure / Never 這兩種值
留言
張貼留言