20220828-k8s-w4 投影片 303-Kubernetes-Objects

直 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 這兩種值

留言