kubernetes簡(jiǎn)介
kubernetes,簡(jiǎn)稱(chēng)K8s,是用8代替8個(gè)字符“ubernete”而成的縮寫(xiě)。是一個(gè)開(kāi)源的,用于管理云平臺(tái)中多個(gè)主機(jī)上的容器化的應(yīng)用,Kubernetes的目標(biāo)是讓部署容器化的應(yīng)用簡(jiǎn)單并且高效(powerful),Kubernetes提供了應(yīng)用部署,規(guī)劃,更新,維護(hù)的一種機(jī)制。
Kubelet是Kubernetes中最主要的控制器,它是Pod和Node API的主要實(shí)現(xiàn)者,Kubelet負(fù)責(zé)驅(qū)動(dòng)容器執(zhí)行層。在Kubernetes中,應(yīng)用容器彼此是隔離的,并且與運(yùn)行其的主機(jī)也是隔離的,這是對(duì)應(yīng)用進(jìn)行獨(dú)立解耦管理的關(guān)鍵點(diǎn)。
Controller Manager:負(fù)責(zé)管理集群的各種資源,保證資源處于預(yù)期的狀態(tài)。它由多種Controller組成,包括Replication Controller、Endpoints Controller.
Namespace Controller、Serviceaccounts Controller等等。
Etcd:負(fù)責(zé)保存k8s集群的配置信息和各種資源的狀態(tài)信息。當(dāng)數(shù)據(jù)發(fā)生變化時(shí),etcd會(huì)快速的通知k8s相關(guān)組件。第三方組件,它有可替換方案。Consul、 zookeeper
Pod: k8s集群的最小組成單位。一個(gè)Pod內(nèi),可以運(yùn)行一個(gè)或多個(gè)容器。大多數(shù)情況下,一個(gè)Pod內(nèi)只有一個(gè)Container容器。
Flanner:是k8s集群網(wǎng)路方案,可以保證Pod的跨主機(jī)通信。第三方解決方案,也有替換方案。
查看應(yīng)用在哪個(gè)節(jié)點(diǎn)
[root@master ~]# kubectl get pod --all-namespaces
查看應(yīng)用在哪個(gè)節(jié)點(diǎn)的詳細(xì)信息
[root@master ~]# kubectl get pod --all-namespaces -o wide
Kubeler:他是Node的agent(代理),當(dāng)Scheduler確定某個(gè)Node上運(yùn)行Pod之后,會(huì)將Pod的具體配置信息發(fā)送給該節(jié)點(diǎn)的Kubelet,Kubeler會(huì)根據(jù)這些信息創(chuàng)建和運(yùn)行容器,并向Master報(bào)告運(yùn)行狀態(tài)。
Kube-proxy:負(fù)責(zé)將訪(fǎng)問(wèn)service的TCP/UDP數(shù)據(jù)流轉(zhuǎn)發(fā)到后端的容器。如果有多個(gè)副本,kube-proxy會(huì)實(shí)現(xiàn)負(fù)載均衡。
運(yùn)行一個(gè)例子:三臺(tái)都導(dǎo)入httpd鏡像導(dǎo)成docker鏡像
創(chuàng)建一個(gè)deployment資源對(duì)象。Pod控制器。
[root@master ~]# kubectl run test-web --image=httpd --replicas=2
查看節(jié)點(diǎn):
[root@master ~]# kubectl get deployments.
簡(jiǎn)寫(xiě):
[root@master ~]# kubectl get deploy
[root@master ~]# kubectl get pod
哪臺(tái)dang掉重啟kuelet:
[root@master ~]# systemctl restart kubelet
[root@master ~]# kubectl get pod -o wide
刪除節(jié)點(diǎn):
[root@master ~]# kubectl delete pod test-web-5b56bdff65-j6g75
還是兩個(gè):這就是控制器的原因
分析各個(gè)組件的作用以及架構(gòu)工作流程:
1)kubectl發(fā)送部署請(qǐng)求到API server
2)API server 通知Controller Manager創(chuàng)建一個(gè)Deployment資源
3)Scheduler執(zhí)行調(diào)度任務(wù),將兩個(gè)副本Pod分發(fā)到node01和node02上
4)node01和node02上的kubelet在各自節(jié)點(diǎn)上創(chuàng)建并運(yùn)行Pod。
補(bǔ)充:
1.應(yīng)用的配置和當(dāng)前的狀態(tài)信息保存在etcd中,執(zhí)行kubectl get pod時(shí)API server會(huì)從etcd中讀取這些數(shù)據(jù)。
2.flannel回味每個(gè)Pod分配一個(gè)IP。但此時(shí)沒(méi)有創(chuàng)建Service資源,目前kube-proxy還沒(méi)有參與進(jìn)來(lái)。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
文章標(biāo)題:kubernetes架構(gòu)介紹-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://chinadenli.net/article22/epecc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站排名、企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、App設(shè)計(jì)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容