Kubernetes CKA課程筆記 22
首先繼續重申重要觀念:
Pod的IP位置範圍不能與Node的IP位置可存在的範圍重疊(詳前篇)
以課程為例,所定義的Node的IP源自VPC
(也就是不能與VPC提供的IP位置範圍重疊)
所以來到VPC頁面確認Node的IP可存在的範圍如下
接著要去準備要安裝的Pod Network的Plugin的預設提供給Pod的IP範圍
來到weaveworks的WeaveNet doc查看:
如上預設是10.32.0.0/12,實際IP範圍在10.32.0.0 ~ 10.47.255.255
與VPC能給的IP範圍(172.31.0.0 ~ 172.31.255.255)兩者沒有重疊!! → OK!
所以可以直接使用WeaveNet預設提供給Pod的IP範圍
接著回到Kubernetes 官網查找文件:
點進去馬上會看到安裝方式:
啟動master機,我們先嘗試將上述網址列的文件下載下來,執行:
wget "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" -O weave.yaml
上述後面的-O指輸出
看看裡面內容,執行:
cat weave.yaml
會看到多個K8s元件建立(有點長,挑重點畫出):
前面提到
WeaveNet預設提供的IP範圍部會跟VPC(給NODE的IP可能範圍)重複
那如果真不小心有重複的話,需要調整如下:
怎麼改呢?
先vi進去剛剛的yaml修改:
vi weave.yaml
調整上述啟動指令,增加option
儲存候用kubectl指令apply:
kubectl apply -f weave.yaml
此時理論上就應該有驚人事情發生了:
確認Pod的IP位置:
首先嘗試確認上述coreDNS Pod的IP位置,使用指令:
kubectl describe pod {上面的pod name} -n kube-system
會看到許多資訊類似如下:
往上滑會看到:
不過上面的方式很難看到全部Pods的IP,所以換一招執行:
kubectl get pod -n kube-system -o wide
可以發現上面只有coreDNS的Pod長在我們要求的範圍
其他還是172開頭(因為這些172開頭的都不是Regular Pod!!
(所以不用遵守K8s定的3條規則(詳前一篇)))
基本上就是master的IP:
或直接用K8s指令看:
kubectl get node -o wide
所以到目前為止,我們的Cluster安裝建立狀態如下: