Kubernetes CKA課程筆記 17
前篇我透過kubeadm將master cluster安裝完畢
(worker*2要等很後面才講到如何加入進Cluster)
- 接著以前課程有提到API Server是外部進入Cluster的進度點entrypoint
- kubeadm順帶產出client(admin身分)連進Cluster用的憑證給我們了!!
- kubeadm還有提供了kubeconfig file(其實就是用來連API Server)
- 其他還有API Server address,client憑證,client private key
並且記得現在還有K8s command line tool : kubectl
總結上述:
- kubectl:指令命令到Cluster
- kubeconfig:授權進到Cluster
後面就可以介紹這一系列操作(指令):
kubectl get node
要能夠指定到我們要命令到的對象Cluster(其中的API Server)則要改執行:
sudo kubectl get node --kubeconfig /etc/kubernetes/admin.conf
亦即對象對象Cluster資訊在admin.conf內
(而且使用該目錄(/etc/kubernetes
)要root,所以加sudo)
透過sudo vi 指令進到admin.conf並複製內容出來另存叫admin-conf.yaml
對比一下下面
其中中間還有一段很重要上面圖已經太花了:
由上圖充分理解後,其實我們就能做到切換不同User,或要連不同Cluster去了
針對上圖裡面context部分,後面課程還會有詳解
回過頭來,如果每次跑kubectl指令都還要帶著下面這行,實在惱人
--kubeconfig /etc/kubernetes/admin.conf
還有前面sudo也是...
所以要簡化將其設為環境參數如下,先sudo -i進到root模式:
root下執行:
export KUBRCONFIG=/etc/kubernetes/admin.conf
就能不帶上面那行
至此有個問題是上面這樣export只有當下連線session有效
所以更好的解法是將這行:/etc/kubernetes/admin.conf
放到kubectl設定之中(預設路徑在$HOME/.kube/config)
離開root確認該目錄不存在,要自己建:
自行建立目錄,並複製一分admin.conf來改(如下圖中指令圖解):
上述指令如下(在$HOME的時候執行以下)
mkdir -p ~/.kubesudo cp -i /etc/kubernetes/admin.conf ~/.kube/configsudo chown $(id -u):$(id -g) ~/.kube/config
之後在執行kubectl指令就不用在帶那行了
(因為cp來的admin.conf也有cluster描述,亦即kubectl指令要拋的cluster)
並且上述的設定是persistance!!!
我重啟putty重連master再執行kubectl get node後看到:
(補充)後面課程還有看到講師用以下指令看cluster狀態:
kubectl cluster-info