中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

k8s的本質是什么

發布時間:2021-12-15 18:34:57 來源:億速云 閱讀:205 作者:柒染 欄目:大數據

這篇文章給大家介紹k8s的本質是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

當下 k8s 算是比較火的一個內容,那么它到底是什么呢,它為什么會這么火呢,它解決的是什么問題呢.

當我們談 k8s 的時候,總是會想起來 Docker .是的,如果想要知道 k8s 解決的是什么問題,我們不可避免的再回到 Docker 上面,回到容器上面來.

在"開發-測試-發布"的流程中,真正承載著容器信息進行傳遞的,是容器鏡像.所以,當 Docker 項目成功后不久,它就迅速走向"容器編排"的重要原因:作為一家云服務商或者基礎設施提供商,我只要能夠將用戶提交的 Docker 鏡像以容器的方式運行起來,就能成為容器生態圈上的一個承載點,從而將整個容器技術棧上的價值,沉淀在我的這個節點上.此外,只要從我這個承載點向 Docker 鏡像制作者和使用者方向回溯,整條路徑上的各個服務節點,比如監控,安全,網絡,存儲等等,都有可以發揮和盈利的地方.

所以,這也是為什么云計算提供商如此熱衷于容器技術的重要原因:我可以通過容器鏡像,和潛在用戶(開發者)直接關聯起來.

基于以上,容器從一個開發者手里的小工具,一躍成為了云計算領域的絕對主角;而能夠定義容器組織和管理規范的"容器編排"技術,則當仁不讓的成為了當下最火熱的技術.

那么, k8s 要解決的問題是什么?編排?調度?還是集群管理?

這個問題,到現在也沒有固定的答案,因為在不同的發展階段, k8s 需要著重解決的問題是不一樣的.對于大多數用戶來說,有一點是確定的:現在我有了應用的容器鏡像,請幫我在一個給定的集群上把這個應用運行起來.更進一步說,我現在有了一個能夠應用的容器鏡像,那么我還希望 k8s 能夠給我提供路由網關,監控,備份等一系列運維能力. 說到這里,我們就需要來講講 k8s 的架構了.

k8s的本質是什么  

從上圖中我們能夠看到, k8s 項目的架構,由 Master 和 Node 兩種節點組成. Master 節點(即控制節點),由三個緊密協作的獨立組件組合而成,它們分別是負責 API 服務的 kube-apiserver ,負責調度的 kube-scheduler ,以及負責容器編排的 kube-controllermanager .而整個集群的持久化數據,則由 kube-apiserver 處理后保存在 Etcd 中.

計算節點上最核心的部分,是一個叫做 kubelet 的組件.在 k8s 項目中, kubelet 主要負責同容器運行時(比如 Docker 項目)打交道.而這個交互所依賴的,是一個稱作 CRI(Container Runtime Interface) 的遠程調用接口,這個接口定義了容器運行時的各項核心操作.這也是為什么, k8s 項目并不關心你部署的是什么容器在運行,使用的什么技術實現,只要你的容器運行時能夠運行標準的容器鏡像,它就可以通過實現 CRI 接入到 k8s 項目當中.

正是因為如此, k8s 項目沒有像同時期的各種"容器云"項目那樣,把 Docker 作為整個架構的核心,而僅僅把它作為最底層的一個容器運行時實現.

運行在大規模集群中的各種任務之間,實際上存在著各種各樣的關系,這些關系的處理,才是作業編排和管理系統最困難的地方.而這也是 k8s 項目要著重解決的問題.

k8s 著重解決的問題,也比較好理解.在容器技術普及之前,傳統虛擬機環境對各種關系的處理方法都是比較"粗粒度"的.如果你善于發現,你會經常看到很多功能并不相關的應用被一股腦兒的部署在同一臺虛擬機中,只是因為它們之間偶爾會互相發起幾個 HTTP 請求.更常見的情況就是,當一個應用被部署在虛擬機里之后,你還需要手動維護很多跟它協作的守護進程,用來處理它的日志搜集,災難恢復等輔助工作.

但當容器技術出現后,你會發現,在"功能單位"的劃分上,容器有著獨一無二的"細粒度"的優勢:因為容器的本質,就是一個進程而已.

這樣的意思就是說,只要你愿意,那些原來擁擠在同一個虛擬機里的各個應用,組件,守護進程,都可以被分別做成鏡像,然后運行在一個個專屬容器中.它們之間互不干涉,擁有各自的資源配額,可以被調度在整個集群里的任何一臺機器上.這也是"微服務"思想能夠落地的前提條件.

 k8s 項目著重要處理的問題是,對于各種關系的處理.先來一張 k8s 項目核心功能的"全景圖":k8s的本質是什么

在這幅圖中,我們從容器這個最基礎的概念觸發,首先遇到了容器間"緊密協作"關系的難題,于是就擴展到了 Pod ;有了 Pod 之后,我們希望能一次啟動多個應用的實例,此時就需要 Deployment 這個 Pod 的多實例管理器;而有了這樣一組相同的 Pod 后,我們又需要通過一個固定的 IP 地址和端口以負載均衡的方式訪問它,于是就有了 Service .

講了這么多,那么 k8s 的本質是什么呢? 它的本質是為用戶提供一個具有普遍意義的容器編排工具.如果非要一個很形象的比喻的話,你可以把它理解為操作系統.

過去很多集群管理項目所擅長的都是把一個容器,按照某種規則,放置在某個最佳節點上運行起來,這種功能我們稱為"調度".但 k8s 項目所擅長的,是按照用戶的意愿和整個系統的規則,完全自動化處理好容器之間的各種關系,這種功能,叫做編排.

但是 k8s 為用戶提供的不僅限于一個工具,它真正的價值,在于提供了一套基于容器構建分布式系統的基礎依賴.

最后,上一張導圖吧,算是對以上內容的一個總結(是不是看到導圖就覺得好理解一些):k8s的本質是什么


關于k8s的本質是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高清| 大安市| 吉林市| 漾濞| 黄浦区| 庄河市| 孟津县| 遵义县| 肥西县| 织金县| 疏勒县| 湖南省| 石泉县| 化德县| 嘉定区| 大田县| 博罗县| 长寿区| 安顺市| 永善县| 晋宁县| 扎囊县| 剑河县| 邵东县| 池州市| 永泰县| 林甸县| 兴和县| 定边县| 南乐县| 临江市| 扶风县| 惠水县| 绥芬河市| 收藏| 陕西省| 濮阳县| 叶城县| 通州市| 儋州市| 澳门|