Master
運(yùn)行:etcd剥懒、kube-apiserver须肆、kube-controller-manager匿乃、scheduler桩皿。負(fù)責(zé)集群的資源管理、Pod調(diào)度幢炸、彈性伸縮泄隔、安全控制等管理功能
- apiserver
負(fù)責(zé)提供kubernetesAPI接口,各節(jié)點(diǎn)通過api與master交互宛徊。 - etcd
高可用的鍵值對(duì)存儲(chǔ)服務(wù)佛嬉,k8s使用ETCD存儲(chǔ)節(jié)點(diǎn)信息。 - scheduler
負(fù)責(zé)調(diào)度pod運(yùn)行在合適的worker節(jié)點(diǎn)闸天。 - controller-manager
運(yùn)行controller進(jìn)程的管理器暖呕。
Node
woker節(jié)點(diǎn)運(yùn)行pod的節(jié)點(diǎn)。
- kubelet
負(fù)責(zé)維護(hù)和管理該Node上面的所有容器苞氮,使Pod得運(yùn)行狀態(tài)與期望的狀態(tài)一致湾揽。 - kube-proxy
該模塊實(shí)現(xiàn)了Kubernetes中的服務(wù)發(fā)現(xiàn)和反向代理功能。反向代理方面:kube-proxy支持TCP和UDP連接轉(zhuǎn)發(fā)笼吟,默認(rèn)基于Round Robin算法將客戶端流量轉(zhuǎn)發(fā)到與service對(duì)應(yīng)的一組后端pod库物。服務(wù)發(fā)現(xiàn)方面,kube-proxy使用etcd的watch機(jī)制赞厕,監(jiān)控集群中service和endpoint對(duì)象數(shù)據(jù)的動(dòng)態(tài)變化艳狐,并且維護(hù)一個(gè)service到endpoint的映射關(guān)系,從而保證了后端pod的IP變化不會(huì)對(duì)訪問者造成影響皿桑。另外kube-proxy還支持session affinity毫目。 - Container Runtime 容器運(yùn)行環(huán)境,可以是docker等虛擬容器诲侮。
Pod
Pod 是Kubernetes的基本操作單元镀虐,也是容器運(yùn)行的載體。提供容器共享的環(huán)境沟绪。
Replication Controller(RC)
應(yīng)用托管在Kubernetes之后刮便,Kubernetes需要保證應(yīng)用能夠持續(xù)運(yùn)行,這是RC的工作內(nèi)容绽慈,它會(huì)維持Kubernetes中運(yùn)行指定數(shù)量的Pod恨旱。
- Label
Label是鍵值對(duì),pod通過設(shè)置一些列l(wèi)abel來標(biāo)識(shí)自身坝疼。RC與Pod通過Label來關(guān)聯(lián)搜贤。Label機(jī)制可以靈活地對(duì)pod進(jìn)行分類和選擇。 - 彈性擴(kuò)縮容
彈性擴(kuò)縮容是指根據(jù)負(fù)載的變化钝凶,彈性的伸縮資源仪芒。在Kubernetes中,指的是可根據(jù)負(fù)載的高低動(dòng)態(tài)調(diào)整Pod的副本數(shù)量(--replicas)。 - 滾動(dòng)升級(jí)
滾動(dòng)升級(jí)是一種平滑過渡的升級(jí)方式掂名,通過逐步替換的策略据沈,保證整體系統(tǒng)的穩(wěn)定,在啟動(dòng)過程中可以及時(shí)發(fā)現(xiàn)問題饺蔑,以保證升級(jí)過程的穩(wěn)定性锌介。 - replica set
RC的升級(jí)組件,通過selector保證pod的副本數(shù)量
Job
Pod的運(yùn)行可以分為兩類:長時(shí)運(yùn)行服務(wù)(jboss膀钠、mysql等)和一次性任務(wù)(數(shù)據(jù)計(jì)算掏湾、測試)。RC創(chuàng)建的Pod都是長時(shí)運(yùn)行的服務(wù)肿嘲,而Job創(chuàng)建的Pod都是一次性任務(wù)融击。在Job的定義中,restartPolicy(重啟策略)只能是Never和OnFailure雳窟。Job可以控制一次性任務(wù)的Pod的完成次數(shù)(Job-->spec-->completions)和并發(fā)執(zhí)行數(shù)(Job-->spec-->parallelism)尊浪,當(dāng)Pod成功執(zhí)行指定次數(shù)后,即認(rèn)為Job執(zhí)行完畢封救。
Services
Service是一種抽象概念拇涤,它定義了一個(gè)Pod邏輯集合以及訪問它們的方式。支持ClusterIp誉结、NodePort鹅士、LoadBalancer。
Deployment
Deployment定義了一組Pod的信息惩坑。Deployment主要職責(zé)與RC相似掉盅,同樣是為了保證pod的數(shù)量和健康。除此之外還支持滾動(dòng)升級(jí)以舒、回滾等多種升級(jí)方案趾痘。
Volume
聲明容器中可以訪問的文件目錄,被掛載到一個(gè)或多個(gè)pod上蔓钟。并且支持多樣的存儲(chǔ)類型永票。
PersistentVolumeClaim
處理集群中的存儲(chǔ)請(qǐng)求,綁定特定的pv滥沫,將請(qǐng)求進(jìn)行存儲(chǔ)侣集。
Namespace
kubernetes通過namespace實(shí)現(xiàn)資源的邏輯隔離,namespace唯一兰绣,不同namespace中資源可重復(fù)肚吏。
公眾號(hào)