日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Kubernetes系统架构简介--转

發(fā)布時間:2025/4/5 windows 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kubernetes系统架构简介--转 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文地址:http://www.infoq.com/cn/articles/Kubernetes-system-architecture-introduction?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global

1. 前言

Together we will ensure that Kubernetes is a strong and open container management framework for any application and in any environment, whether in a private, public or hybrid cloud.

Urs H?lzle, Google

Kubernetes作為Docker生態(tài)圈中重要一員,是Google多年大規(guī)模容器管理技術(shù)的開源版本,是產(chǎn)線實踐經(jīng)驗的最佳表現(xiàn)[G1]?。如Urs H?lzle所說,無論是公有云還是私有云甚至混合云,Kubernetes將作為一個為任何應(yīng)用,任何環(huán)境的容器管理框架無處不在。正因為如此, 目前受到各大巨頭及初創(chuàng)公司的青睞,如Microsoft、VMWare、Red Hat、CoreOS、Mesos等,紛紛加入給Kubernetes貢獻代碼。隨著Kubernetes社區(qū)及各大廠商的不斷改進、發(fā)展,Kuberentes將成為容器管理領(lǐng)域的領(lǐng)導(dǎo)者。

相關(guān)廠商內(nèi)容

國際范 最前沿 不容錯過的容器技術(shù)盛會

彎道超車 私有云在金融企業(yè)真正落地

電商真正的較量:架構(gòu)比拼

來了?所見即所得的虛擬現(xiàn)實

阿喀琉斯之踵:互聯(lián)網(wǎng)安全

相關(guān)贊助商

CNUTCon全球容器技術(shù)大會北京站,Get更多亮點!點擊了解詳情!

接下來我們會用一系列文章逐一探索Kubernetes是什么、能做什么以及怎么做。

2. 什么是Kubernetes

Kubernetes是Google開源的容器集群管理系統(tǒng),其提供應(yīng)用部署、維護、 擴展機制等功能,利用Kubernetes能方便地管理跨機器運行容器化的應(yīng)用,其主要功能如下:

1) 使用Docker對應(yīng)用程序包裝(package)、實例化(instantiate)、運行(run)。

2) 以集群的方式運行、管理跨機器的容器。

3) 解決Docker跨機器容器之間的通訊問題。

4) Kubernetes的自我修復(fù)機制使得容器集群總是運行在用戶期望的狀態(tài)。

當(dāng)前Kubernetes支持GCE、vShpere、CoreOS、OpenShift、Azure等平臺,除此之外,也可以直接運行在物理機上。

接下來本文主要從以下幾方面闡述Kubernetes:

1) Kubernetes的主要概念。

2) Kubernetes的構(gòu)件,包括Master組件、Kubelet、Proxy的詳細介紹。

3. Kubernetes主要概念

3.1. Pods

Pod是Kubernetes的基本操作單元,把相關(guān)的一個或多個容器構(gòu)成一個Pod,通常Pod里的容器運行相同的應(yīng)用。Pod包含的容器運行在同一個Minion(Host)上,看作一個統(tǒng)一管理單元,共享相同的volumes和network namespace/IP和Port空間。

3.2. Services

Services也是Kubernetes的基本操作單元,是真實應(yīng)用服務(wù)的抽象,每一個服務(wù)后面都有很多對應(yīng)的容器來支持,通過Proxy的port和服務(wù)selector決定服務(wù)請求傳遞給后端提供服務(wù)的容器,對外表現(xiàn)為一個單一訪問接口,外部不需要了解后端如何運行,這給擴展或維護后端帶來很大的好處。

3.3. Replication Controllers

Replication Controller確保任何時候Kubernetes集群中有指定數(shù)量的pod副本(replicas)在運行, 如果少于指定數(shù)量的pod副本(replicas),Replication Controller會啟動新的Container,反之會殺死多余的以保證數(shù)量不變。Replication Controller使用預(yù)先定義的pod模板創(chuàng)建pods,一旦創(chuàng)建成功,pod 模板和創(chuàng)建的pods沒有任何關(guān)聯(lián),可以修改pod 模板而不會對已創(chuàng)建pods有任何影響,也可以直接更新通過Replication Controller創(chuàng)建的pods。對于利用pod 模板創(chuàng)建的pods,Replication Controller根據(jù)label selector來關(guān)聯(lián),通過修改pods的label可以刪除對應(yīng)的pods。Replication Controller主要有如下用法:

1) Rescheduling

如上所述,Replication Controller會確保Kubernetes集群中指定的pod副本(replicas)在運行, 即使在節(jié)點出錯時。

2) Scaling

通過修改Replication Controller的副本(replicas)數(shù)量來水平擴展或者縮小運行的pods。

3) Rolling updates

Replication Controller的設(shè)計原則使得可以一個一個地替換pods來rolling updates服務(wù)。

4) Multiple release tracks

如果需要在系統(tǒng)中運行multiple release的服務(wù),Replication Controller使用labels來區(qū)分multiple release tracks。

3.4. Labels

Labels是用于區(qū)分Pod、Service、Replication Controller的key/value鍵值對,Pod、Service、 Replication Controller可以有多個label,但是每個label的key只能對應(yīng)一個value。Labels是Service和Replication Controller運行的基礎(chǔ),為了將訪問Service的請求轉(zhuǎn)發(fā)給后端提供服務(wù)的多個容器,正是通過標識容器的labels來選擇正確的容器。同樣,Replication Controller也使用labels來管理通過pod 模板創(chuàng)建的一組容器,這樣Replication Controller可以更加容易,方便地管理多個容器,無論有多少容器。

4. Kubernetes構(gòu)件

Kubenetes整體框架如下圖3-1,主要包括kubecfg、Master API Server、Kubelet、Minion(Host)以及Proxy。

圖3-1 Kubernetes High Level構(gòu)件

4.1. Master

Master定義了Kubernetes 集群Master/API Server的主要聲明,包括Pod Registry、Controller Registry、Service Registry、Endpoint Registry、Minion Registry、Binding Registry、RESTStorage以及Client, 是client(Kubecfg)調(diào)用Kubernetes API,管理Kubernetes主要構(gòu)件Pods、Services、Minions、容器的入口。Master由API Server、Scheduler以及Registry等組成。從下圖3-2可知Master的工作流主要分以下步驟:

1) Kubecfg將特定的請求,比如創(chuàng)建Pod,發(fā)送給Kubernetes Client。

2) Kubernetes Client將請求發(fā)送給API server。

3) API Server根據(jù)請求的類型,比如創(chuàng)建Pod時storage類型是pods,然后依此選擇何種REST Storage API對請求作出處理。

4) REST Storage API對的請求作相應(yīng)的處理。

5) 將處理的結(jié)果存入高可用鍵值存儲系統(tǒng)Etcd中。

6) 在API Server響應(yīng)Kubecfg的請求后,Scheduler會根據(jù)Kubernetes Client獲取集群中運行Pod及Minion信息。

7) 依據(jù)從Kubernetes Client獲取的信息,Scheduler將未分發(fā)的Pod分發(fā)到可用的Minion節(jié)點上。

下面是Master的主要構(gòu)件的詳細介紹:

圖3-2 Master主要構(gòu)件及工作流

3.1.1. Minion Registry

Minion Registry負責(zé)跟蹤Kubernetes 集群中有多少Minion(Host)。Kubernetes封裝Minion Registry成實現(xiàn)Kubernetes API Server的RESTful API接口REST,通過這些API,我們可以對Minion Registry做Create、Get、List、Delete操作,由于Minon只能被創(chuàng)建或刪除,所以不支持Update操作,并把Minion的相關(guān)配置信息存儲到etcd。除此之外,Scheduler算法根據(jù)Minion的資源容量來確定是否將新建Pod分發(fā)到該Minion節(jié)點。

3.1.2. Pod Registry

Pod Registry負責(zé)跟蹤Kubernetes集群中有多少Pod在運行,以及這些Pod跟Minion是如何的映射關(guān)系。將Pod Registry和Cloud Provider信息及其他相關(guān)信息封裝成實現(xiàn)Kubernetes API Server的RESTful API接口REST。通過這些API,我們可以對Pod進行Create、Get、List、Update、Delete操作,并將Pod的信息存儲到etcd中,而且可以通過Watch接口監(jiān)視Pod的變化情況,比如一個Pod被新建、刪除或者更新。

3.1.3. Service Registry

Service Registry負責(zé)跟蹤Kubernetes集群中運行的所有服務(wù)。根據(jù)提供的Cloud Provider及Minion Registry信息把Service Registry封裝成實現(xiàn)Kubernetes API Server需要的RESTful API接口REST。利用這些接口,我們可以對Service進行Create、Get、List、Update、Delete操作,以及監(jiān)視Service變化情況的watch操作,并把Service信息存儲到etcd。

3.1.4. Controller Registry

Controller Registry負責(zé)跟蹤Kubernetes集群中所有的Replication Controller,Replication Controller維護著指定數(shù)量的pod 副本(replicas)拷貝,如果其中的一個容器死掉,Replication Controller會自動啟動一個新的容器,如果死掉的容器恢復(fù),其會殺死多出的容器以保證指定的拷貝不變。通過封裝Controller Registry為實現(xiàn)Kubernetes API Server的RESTful API接口REST, 利用這些接口,我們可以對Replication Controller進行Create、Get、List、Update、Delete操作,以及監(jiān)視Replication Controller變化情況的watch操作,并把Replication Controller信息存儲到etcd。

3.1.5. Endpoints Registry

Endpoints Registry負責(zé)收集Service的endpoint,比如Name:"mysql",Endpoints: ["10.10.1.1:1909","10.10.2.2:8834"],同Pod Registry,Controller Registry也實現(xiàn)了Kubernetes API Server的RESTful API接口,可以做Create、Get、List、Update、Delete以及watch操作。

3.1.6. Binding Registry

Binding包括一個需要綁定Pod的ID和Pod被綁定的Host,Scheduler寫B(tài)inding Registry后,需綁定的Pod被綁定到一個host。Binding Registry也實現(xiàn)了Kubernetes API Server的RESTful API接口,但Binding Registry是一個write-only對象,所有只有Create操作可以使用, 否則會引起錯誤。

3.1.7. Scheduler

Scheduler收集和分析當(dāng)前Kubernetes集群中所有Minion節(jié)點的資源(內(nèi)存、CPU)負載情況,然后依此分發(fā)新建的Pod到Kubernetes集群中可用的節(jié)點。由于一旦Minion節(jié)點的資源被分配給Pod,那這些資源就不能再分配給其他Pod, 除非這些Pod被刪除或者退出, 因此,Kubernetes需要分析集群中所有Minion的資源使用情況,保證分發(fā)的工作負載不會超出當(dāng)前該Minion節(jié)點的可用資源范圍。具體來說,Scheduler做以下工作:

1) 實時監(jiān)測Kubernetes集群中未分發(fā)的Pod。

2) 實時監(jiān)測Kubernetes集群中所有運行的Pod,Scheduler需要根據(jù)這些Pod的資源狀況安全地將未分發(fā)的Pod分發(fā)到指定的Minion節(jié)點上。

3) Scheduler也監(jiān)測Minion節(jié)點信息,由于會頻繁查找Minion節(jié)點,Scheduler會緩存一份最新的信息在本地。

4) 最后,Scheduler在分發(fā)Pod到指定的Minion節(jié)點后,會把Pod相關(guān)的信息Binding寫回API Server。

4.2. Kubelet

圖3-3 Kubernetes詳細構(gòu)件

根據(jù)上圖3-3可知Kubelet是Kubernetes集群中每個Minion和Master API Server的連接點,Kubelet運行在每個Minion上,是Master API Server和Minion之間的橋梁,接收Master API Server分配給它的commands和work,與持久性鍵值存儲etcd、file、server和http進行交互,讀取配置信息。Kubelet的主要工作是管理Pod和容器的生命周期,其包括Docker Client、Root Directory、Pod Workers、Etcd Client、Cadvisor Client以及Health Checker組件,具體工作如下:

1) 通過Worker給Pod異步運行特定的Action。

2) 設(shè)置容器的環(huán)境變量。

3) 給容器綁定Volume。

4) 給容器綁定Port。

5) 根據(jù)指定的Pod運行一個單一容器。

6) 殺死容器。

7) 給指定的Pod創(chuàng)建network 容器。

8) 刪除Pod的所有容器。

9) 同步Pod的狀態(tài)。

10) 從Cadvisor獲取container info、 pod info、root info、machine info。

11) 檢測Pod的容器健康狀態(tài)信息。

12) 在容器中運行命令。

4.3. Proxy

Proxy是為了解決外部網(wǎng)絡(luò)能夠訪問跨機器集群中容器提供的應(yīng)用服務(wù)而設(shè)計的,從上圖3-3可知Proxy服務(wù)也運行在每個Minion上。Proxy提供TCP/UDP sockets的proxy,每創(chuàng)建一種Service,Proxy主要從etcd獲取Services和Endpoints的配置信息,或者也可以從file獲取,然后根據(jù)配置信息在Minion上啟動一個Proxy的進程并監(jiān)聽相應(yīng)的服務(wù)端口,當(dāng)外部請求發(fā)生時,Proxy會根據(jù)Load Balancer將請求分發(fā)到后端正確的容器處理。

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/5510894.html

總結(jié)

以上是生活随笔為你收集整理的Kubernetes系统架构简介--转的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丝袜美腿亚洲一区二区图片 | 日本一区二区三区免费看 | 精品国产一区二区三区在线 | 久久网站免费看 | 亚洲黄色在线免费观看 | 无码一区二区三区在线 | 污污内射在线观看一区二区少妇 | 打白嫩屁屁网站视频短裙 | 亚洲一区二区三区加勒比 | www.youjizz.com久久| 最新av网站在线观看 | 亚洲图片一区二区 | 婷婷玖玖| 国产色综合天天综合网 | 日韩女优中文字幕 | 中文字幕+乱码+中文乱 | 正在播放木下凛凛xv99 | 国产免费一区二区三区 | 日本精品二区 | 亚洲小说专区 | 丰满岳跪趴高撅肥臀尤物在线观看 | 在线观看波多野结衣 | а 天堂 在线 | 美女激情网站 | 美女色诱男人激情视频 | 国产精品99久久久久久动医院 | 91丨九色丨蝌蚪丨丝袜 | 亚洲AV无码国产精品播放在线 | 日韩大片在线观看 | 日韩中文字幕精品 | 射进来av影视网 | 亚洲AV成人无码网站天堂久久 | 香蕉小视频 | 成人免费高清视频 | 国产精品一线二线三线 | 久久亚洲精选 | 亚洲精品乱码久久久久久麻豆不卡 | 久久久www成人免费精品 | 国产情侣激情自拍 | 韩日视频在线 | 日韩毛片中文字幕 | 蜜桃综合网| 91精品91 | 欧美呦交 | 日本一区二区免费在线观看 | 久久天天操 | 黄色成人毛片 | 福利二区视频 | 国产成人无码av在线播放dvd | 成人精品视频99在线观看免费 | 91精品综合久久 | 国毛片| 草比视频在线观看 | av免费观看在线 | 人人搞人人 | 一区二区三区在线视频观看 | 国产成人三级在线观看 | 500福利视频导航 | 亚洲成人基地 | 日韩色在线观看 | 中国成熟妇女毛茸茸 | 日韩毛片儿 | 好吊妞无缓冲视频观看 | 亚洲激情免费视频 | 国产综合视频在线 | 久久精品视频免费看 | 亚洲瘦老头同性xxxxx | 91麻豆免费看 | 日本妇乱大交xxxxx | av中文天堂在线 | 色综合五月天 | 久久国产电影 | 国产一极毛片 | 求个黄色网址 | 亚洲午夜精品久久久久久人妖 | 99热99这里只有精品 | 在线观看av资源 | 精品人妻一区二区三区潮喷在线 | 欧美日韩国产免费 | 人人揉人人 | 91av一区二区三区 | 91色精品 | 久久久久免费看 | 熟女少妇一区二区三区 | 91麻豆蜜桃一区二区三区 | 久久字幕 | 无码人妻aⅴ一区二区三区玉蒲团 | 成人免费a级片 | 一区二区三区四区欧美 | 青青福利视频 | 香蕉视频传媒 | 久久11| 欧色丰满女同hd | 欧美日韩国产91 | 嫩草视频| 日韩视频在线观看免费 | 希岛婚前侵犯中文字幕在线 | 成人免费版 | 日韩福利社 |