您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“kubernetes指的是什么意思”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“kubernetes指的是什么意思”這篇文章吧。
0.kubernetes, 在國內(nèi)簡稱K8S, 是一個大規(guī)模容器管理工具,起源于Google公司內(nèi)部的Borg項目,集結(jié)了Borg設(shè)計思想的精華,并且吸收了Borg系統(tǒng)中的經(jīng)驗和教訓(xùn)。在Tiwtter推出自己的Borg系統(tǒng)(mesos)時,Google開源了內(nèi)部的Borg項目,并命名為kubernetes, 于2015年7月22日發(fā)布V1.0版本,意義著這個開源容器編排系統(tǒng)可以正式在生產(chǎn)環(huán)境使用。
1.kubernetes, 簡稱K8S,是一個開源的用于管理云平臺中多個主機(jī)上的容器化的應(yīng)用,K8S的目標(biāo)是讓部署容器化應(yīng)用變得簡單和高效,K8S提供了一種應(yīng)用部署、規(guī)劃、更新和維護(hù)和機(jī)制。
2.K8S的一個核心特點:能夠自主地管理容器來保證云平臺中的容器按照用戶的期望狀態(tài)去運行,管理員可以加載一個微服務(wù),讓規(guī)劃器自動找到合適位置,同時,K8S也系統(tǒng)提供了一些人性化的工具,讓用戶能夠方便地部署自己的應(yīng)用(Like canary deployment)。
3.目前K8S著重于提供不間斷的服務(wù)狀態(tài)和原生云平臺應(yīng)用,即將支持各種生產(chǎn)云平臺中的各種服務(wù),如:分批、工作流和傳統(tǒng)DB等。
4.在K8S中,所有的容器均在Pod中運行, 一個Pod中可以運載一個或多個相關(guān)的容器,在后面案例中,同一個Pod中的容器會部署在同一個物理機(jī)器上并且能夠共享資源。一個Pod也可以包含0個或多個磁盤卷組volumes,這些卷組將會以目錄的形式提供給一個容器,或者被所有Pod中的容器共享,對于用戶創(chuàng)建的每個Pod, 系統(tǒng)會自動選擇健康且有足夠容量的容器,然后創(chuàng)建類似容器的容器,當(dāng)容器創(chuàng)建失敗時,容器會被節(jié)點代理node agent自動重啟, 但如果是Pod失敗或者機(jī)器, 它不會自動地轉(zhuǎn)移并且啟動,除非用戶定義了replication controller。
5.用戶可以自己創(chuàng)建并管理Pod, K8S將這些操作簡化為兩個操作:基于相同的Pod配置文件部署多個Pod復(fù)制品;創(chuàng)建可替代的Pod,當(dāng)一個Pod或機(jī)器掛了的時候創(chuàng)建可替代的Pod。 而K8S API中負(fù)責(zé)遷移和重啟等行為的部分叫做replication controller。它根據(jù)一個模板生成了一個Pod, 然后系統(tǒng)就根據(jù)用戶的行為創(chuàng)建許多冗余的Pod, 這些冗余的Pod組成了了一個整個應(yīng)用,或者服務(wù),或者是服務(wù)中的一層。一旦一個Pod被創(chuàng)建,系統(tǒng)就會不停地監(jiān)控Pod的健康狀態(tài),以及Pod所在主機(jī)的健康狀態(tài),如果這個Pod因為軟件原因掛掉了,或者所在的機(jī)器掛掉了,replication controller就會自動在另一個健康的機(jī)器上創(chuàng)建一個一模一樣的Pod, 來維持原來Pod冗余狀態(tài)不變,一個應(yīng)用的多個Pod可以共享一個機(jī)器。
6.操作K8S時經(jīng)常需要選中一組Pod, 如:限制一組Pod的某些操作, 或查詢某組Pod的狀態(tài),作為K8S的基本機(jī)制, 用戶可以給K8S API中的任何對象貼上一組KEY:VALUE標(biāo)簽, 然后可以通過標(biāo)簽來選擇一組相關(guān)的K8S API對象, 然后執(zhí)行一組特定的操作。每個資源額外擁有一組或多組KEYS和VALUES, 然后外部工具可以使用這些keys和values值進(jìn)行對象檢索,這些map叫做annotations。
7.K8S支持一種特殊的網(wǎng)絡(luò)模型,K8S創(chuàng)建了一個地址空間,并且不動態(tài)分配商品,可允許用戶選擇任何想用的端口,為了實現(xiàn)這個功能,它為每個Pod分配IP地址。
8.現(xiàn)代互聯(lián)網(wǎng)應(yīng)用一般都會包括多層服務(wù)構(gòu)成,比如web前臺空間與用來存儲鍵值對的內(nèi)存服務(wù)器以及對應(yīng)的存儲服務(wù),為了更好地服務(wù)于這樣的架構(gòu),K8S提供了服務(wù)的抽象,并提供了固定IP和DNS名稱,而這些與一系列Pod進(jìn)行動態(tài)關(guān)聯(lián),這些都通過之前提到的標(biāo)簽進(jìn)行關(guān)聯(lián),所以我們可以關(guān)聯(lián)任何我們想關(guān)聯(lián)的Pod, 當(dāng)一個Pod中的容器訪問這個地址的時候,這個請求將會被轉(zhuǎn)發(fā)到本地代理kube proxy, 每臺機(jī)器上均有一個本地代理,然后被轉(zhuǎn)發(fā)到相應(yīng)的后端容器。K8S通過輪詢機(jī)制選擇相應(yīng)的后端容器,這些動態(tài)的Pod被替換的時候,kuber proxy時刻追蹤著,所以服務(wù)的IP地址或DNS名稱從來不變。
9.所有K8S中的資源,比如Pod, 都通過一個叫URI的東西來區(qū)分,這個URI有一個UID, URI的重要組成部分是:對象的類型(如Pod), 對象的名字,對象的命名空間。對于特殊的對象類型, 在同一個命名空間內(nèi),所有的名字都是不同的, 在對象只提供名稱,不提供命名空間的情況下,這種情況是假定是默認(rèn)的命名空間,UID是時間和空間上的唯一。
以上是“kubernetes指的是什么意思”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。