今年最后一次線上發(fā)版后,春節(jié)前應(yīng)該不再忙了辅辩,還是決定把學(xué)習(xí)k8s的筆記記錄一下,純粹個人學(xué)習(xí)娃圆。不足之處請諒解玫锋。
引文:最近幾年隨著云技術(shù)逐漸成熟,市面上有不少云廠商提供了相關(guān)成熟的PASS平臺讼呢,但針對很多的企業(yè)撩鹿,特別是一些國企央企對于私有化部署更加注重。所有對于搞技術(shù)的人吝岭,對于學(xué)習(xí)k8s 三痰,我認(rèn)為是有必要的。
一窜管、kubernates vs openshirft
我們企業(yè)散劫,集團(tuán)已經(jīng)采購了紅帽 openshirft 作為 pass 平臺,這個沒啥好說的幕帆,有相應(yīng)的團(tuán)隊來維護(hù)管理获搏,還為企業(yè)提供解決方案; openshirft 的開發(fā)維護(hù)的人,有加入到kubernates進(jìn)行一些新功能的開發(fā)驗證失乾。所以今天的kubernates 的發(fā)展也離不開這幫人常熙,很多kubernates 一些功能和一些解決方案,都是他們進(jìn)行解決碱茁,然后開源裸卫。當(dāng)然,由于openshirft 企業(yè)版是收費的纽竣,也為kubernates開源社區(qū)提供了基本資料墓贿,總之兩者相互推動發(fā)展茧泪。
二、kubernates 架構(gòu)
kubernates 是一個自動化部署聋袋,擴展和管理容器化應(yīng)用程序的開源系統(tǒng)队伟。
來源:https://platform9.com/wp-content/uploads/2019/05/kubernetes-constructs-concepts-architecture.jpg
節(jié)點分類:控制節(jié)點、工作節(jié)點
- 控制節(jié)點-master:
一般來說幽勒,我們會把 controller manager 組件(控制k8s集群中nod節(jié)點嗜侮、pod、service等資源的管理啥容,維持對應(yīng)資源的運行狀態(tài));
會把 scheduler 組件 (主要是個通過一些調(diào)度算法锈颗,資源對象調(diào)度到合適的節(jié)點上,如污點干毅、節(jié)點親和宜猜、pod親和、pod反親和等);
會把 kube api server 組件(提供對應(yīng)的集群api接口硝逢,保持用戶姨拥、節(jié)點通過 kubectl和kubelet 保持通訊和下達(dá)指令,并且更新etct存儲的k8s集群中的元數(shù)據(jù));
通過集群方式來部署上訴組件渠鸽,使其高可用叫乌。
- 工作節(jié)點-work
每個工作節(jié)點,部署kubelet 組件徽缚,用戶管理pod憨奸,把節(jié)點、pod等資源的信息通過 該組件與kubeapiserver通訊凿试,獲取更新對應(yīng)的元數(shù)據(jù)
- etcd key-value 數(shù)據(jù)庫排宰,通過高可用進(jìn)行集群部署,一般來說可以單獨部署那婉,也可用部署在master節(jié)點上板甘。主要用于存儲整個k8s集群中元數(shù)據(jù)