2.如上certs階段:
- 一開始建出/etc/kubernetes/pki目錄準備存放憑證相關檔案用
- 後面就是建出必要的憑證相關檔案(如下)
- 往裡面看看etcd目錄可以發現etcd有自己的CA也有伺服器憑證
- 因為只有別人會來跟etcd溝通或隔壁etcd來溝通(如下)
3.如上kubeconfig階段:
- 也就是master四個基礎K8s元件的config file製作,並放到/etc/kubernetes
- (如下)
4.如上kubelet-start階段:
- 寫入kubelet相關設定,並且執行kubelet重啟
- 此時若執行service kubelet status指令確認會看到如下(Running!!!)
這邊可以注意到還有額外目錄放kubelet設定在/var/lib/kubelet/
而不是在下面階段會提到的static pod方式,因為kubelet是一般process在跑:
其中kubelet相關設定可以看看該目錄下的config.yaml:
5.如上control-plane階段:
- 在前面做完kubelet後,master內要用的static pod就可以用了
- 撰寫其manifests(API server,controller-manager,scheduler)到
- /etc/kubernetes/manifests目錄下(如下)
這邊隨意看其中一個manifests的執行:
sudo cat /etc/kubernetes/manifests/kube-apiserver.yaml|less
然後看到如下
上述就是K8s工程師唯一可以確認認知所安裝的API Server的內容細項
並且要異動只能靠修改上面紅框的參數做調整
我這邊關心的是我用的版本對應的port,也就是我用到講師用的1.21版問題:
所以趕緊看看其他的yaml:
有點神奇!!!(以後再研究)
講師有提到這些擺在/etc/kubernetes/manifests目錄下要建static Pod方式
之後這些K8s Cluster必要元件若有需要異動
就直接修改其yaml就會因為kubelet盯著直接生效
並且這種run static pod方式未來還有很多用途,後面課程會有解釋
另外看一下etcd.yaml:
回到init過程:
6.如上最後有兩個addons,安裝了兩個應用程式(非static pod):
- 1.CoreDNS(Regular Pod形式),這個後面課程會詳細介紹
- 2.kube-proxy(Regular Pod形式),前面提過,每個Node都該有
最後其實我們還沒搞清楚Cluster中Node怎麼作為Cluster一份子來溝通
甚至我們根本還沒意會到Cluster的存在!? 待後面課程分曉