一、k8s架構(gòu)圖
二、k8s架構(gòu)模式:
master(cluster)/worker(node)架構(gòu)
master組件:
1.kube-apiserver:
提供restful接口指令供客戶端或者其他組件調(diào)用,客戶端指的是kubectl命令行工具,其他通信組件包括controller和scheduler
2.etcd:
負責存儲集群狀態(tài)
3.controller
管理并實現(xiàn)k8s的的各種流程,使用k8s管理容器,而不是直接使用容器,目的就是為容器提供統(tǒng)一編排,為用戶提供聲明式的調(diào)用,k8s維護著用戶的期望,用戶只要告訴k8s需要幾個服務,需要什么配置就可以了,不需要關(guān)心底層k8s怎么實現(xiàn)的,但是k8s除了正常的創(chuàng)建管理,還伴隨著異常情況的發(fā)生,比如容器掛掉,網(wǎng)絡不通等,這時候需要controller監(jiān)控資源狀態(tài)等信息并更新到etcd,controller相當于運維工程師的角色.
k8s把各種操作都認為是某種類型的某個方法,從而將不同的操作分給不同的方法執(zhí)行,k8s認為一切皆資源,繁復的內(nèi)容抽象成不同的資源放到不同的方法上執(zhí)行
4.Scheduler
資源調(diào)度,根據(jù)系統(tǒng)資源的使用情況,將pod合理分配到相應的node節(jié)點,并通過apiserve告知etcd更新數(shù)據(jù)庫
worker組件:
1.kubelet
controller如何監(jiān)控不通資源信息,Scheduler如何給pod分配資源,實際的操作都是交給kubelet來完成的,例如,創(chuàng)建pod,刪除pod,創(chuàng)建數(shù)據(jù)卷等
2.kube-proxy
按照用戶的期望創(chuàng)建好環(huán)境,pod容器怎么才能對外提供服務?
pod生成是會自動分配一個ip,但這個ip是動態(tài)生成的,并不固定,這時就需要一個固定ip代理pod來對外提供服務,這個就是service資源,扮演者服務發(fā)現(xiàn)和負載均衡的功能。
但是service怎么代理到pod上呢?
這時就需要core-dns,為新創(chuàng)建的pod注冊動態(tài)DNS。給pod的service添加iptables/ipvs規(guī)則,用于服務發(fā)現(xiàn)和負載均衡,所有網(wǎng)絡相關(guān)的請求響應都有kube-proxy代理完成
3.container runtime
負責容器運行
三、工作流程
1.創(chuàng)建pod
2.controller創(chuàng)建pod
第1步成功之后,需要controller接手監(jiān)控工作
用戶期望pod副本數(shù)是3,但此時宕掉一個pod, controller loop 監(jiān)測到 etcd 中存儲的對象狀態(tài)有些與系統(tǒng) current state 不一致(此例例?子中就 是那個宕掉的容器?導致的), replicationController, replicaSet, deployment 等等定義必須有 3 個容?, 然?目前系統(tǒng)只有 2 個 running, 然后通過對應的?用戶定義時存儲在 etcd 的對象類 型, 相應的controller 會去響應, 發(fā)現(xiàn)少了了 1 個容器?, 需要創(chuàng)建 1 個新容器?時, 由該 controller 請求 api server 創(chuàng)建新容器,接下來跟第一步相同
總結(jié):
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)頁名稱:k8s架構(gòu)原理-創(chuàng)新互聯(lián)
新聞來源:http://www.chinadenli.net/article4/psioe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站排名、搜索引擎優(yōu)化、微信小程序、微信公眾號、移動網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)