這篇文章主要介紹了k8s和Docker關(guān)系簡單說明,本文利用圖文講解的很透徹,有需要的同學(xué)可以研究下
最近項目用到kubernetes(以下簡稱k8s,k和s之間有8個字母)。雖然之前也有簡單使用過,但最近發(fā)現(xiàn)k8s概念較多,命令也有些不夠用了,故想借此機(jī)會寫點(diǎn)東西,更全面認(rèn)識并使用k8s。本篇文章目的:讓你更全面了解k8s概念,以及學(xué)到在工作中常用的操作。整體更偏向于原理和應(yīng)用。在正式開始k8s之前,我們先看看k8s和Docker的關(guān)系,分別從虛擬化角度、部署方式角度敘述why use容器,話不多說,開干。
目前發(fā)現(xiàn)并沒有將kubernetes和Docker技術(shù)產(chǎn)生背景和需求進(jìn)行比較的文章,本文從最純正的官方定義角度出發(fā)并展開,闡述二者產(chǎn)生背景及與傳統(tǒng)技術(shù)對比。
簡要介紹:
官方定義1:Docker是一個開源的應(yīng)用容器引擎,開發(fā)者可以打包他們的應(yīng)用及依賴到一個可移植的容器中,發(fā)布到流行的Linux機(jī)器上,也可實現(xiàn)虛擬化。
官方定義2:k8s是一個開源的容器集群管理系統(tǒng),可以實現(xiàn)容器集群的自動化部署、自動擴(kuò)縮容、維護(hù)等功能。
與傳統(tǒng)技術(shù)對比:
接下來我們看兩張經(jīng)典的圖:
一、從虛擬化角度:
Docker容器(可用k8s管理的玩意兒)與傳統(tǒng)虛擬化方式的不同之處:傳統(tǒng)的虛擬技術(shù)在將物理硬件虛擬成多套硬件后,需要在每套硬件上都部署一個操作系統(tǒng),接著在這些操作系統(tǒng)上運(yùn)行相應(yīng)的應(yīng)用程序。
而Docker容器內(nèi)的應(yīng)用程序進(jìn)程直接運(yùn)行在宿主機(jī)(真實物理機(jī))的內(nèi)核上,Docker引擎將一些各自獨(dú)立的應(yīng)用程序和它們各自的依賴打包,相互獨(dú)立直接運(yùn)行于未經(jīng)虛擬化的宿主機(jī)硬件上,同時各個容器也沒有自己的內(nèi)核,顯然比傳統(tǒng)虛擬機(jī)更輕便。每個集群有多個節(jié)點(diǎn),每個節(jié)點(diǎn)可運(yùn)行多個容器,我們的kuberbete就是管理這些應(yīng)用程序所在的小運(yùn)行環(huán)境(container)而生。
二、從部署角度
從虛擬化角度,說明了為應(yīng)用提供必要的運(yùn)行環(huán)境所需要做的虛擬化操作(即:傳統(tǒng):虛擬出的虛擬機(jī)裝操作系統(tǒng)、Docker:容器引擎管理下的容器)。
而在這些具體運(yùn)行環(huán)境上進(jìn)行真實應(yīng)用部署時的情況,傳統(tǒng)方式是將所有應(yīng)用直接部署在同一個物理機(jī)器節(jié)點(diǎn)上,這樣每個App的依賴都是完全相同的,無法做到App之間隔離,當(dāng)然。
為了隔離,我們也可以通過創(chuàng)建虛擬機(jī)的方式來將App部署到其中,但這樣太過繁重,故比虛擬機(jī)更輕便的Docker技術(shù)出現(xiàn),現(xiàn)在我們通過部署Container容器的技術(shù)來部署應(yīng)用,全部Container運(yùn)行在容器引擎上即可。
既然嫌棄虛擬機(jī)繁重,想用Docker,那好,你用吧,怎么用呢?手動一個一個創(chuàng)建?當(dāng)然不,故kubernetes技術(shù)便出現(xiàn)了,以kubernetes為代表的容器集群管理系統(tǒng),這時候就該上場表演了。
說白了,我們用kubernetes去管理Docker集群,即可以將Docker看成Kubernetes內(nèi)部使用的低級別組件。另外,kubernetes不僅僅支持Docker,還支持Rocket,這是另一種容器技術(shù)。希望我這篇文章中簡單的描述能讓你對兩者有所理解和認(rèn)識。
到此這篇關(guān)于k8s和Docker關(guān)系簡單說明的文章就介紹到這了。
https://blog.csdn.net/yanghaolong/article/details/86680282
編輯:jq
-
開源
+關(guān)注
關(guān)注
3文章
3641瀏覽量
43657 -
docker容器
+關(guān)注
關(guān)注
0文章
31瀏覽量
3475
原文標(biāo)題:k8s 和 Docker 關(guān)系簡單說明
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
k8s權(quán)限管理指南說明
什么是 K8S,如何使用 K8S
K8s集群中Containerd和Docker的對比

搭建k8s需要買幾臺云主機(jī)?
自建K8S集群認(rèn)證過期
k8s和docker區(qū)別對比,哪個更強(qiáng)?
k8s微服務(wù)架構(gòu)就是云原生嗎?兩者是什么關(guān)系
混合云部署k8s集群方法有哪些?
k8s云原生開發(fā)要求

k8s容器啟動失敗的常見原因及解決辦法
云服務(wù)器部署k8s需要什么配置?
常用的k8s容器網(wǎng)絡(luò)模式有哪些?
K8S學(xué)習(xí)教程三:在PetaExpress KubeSphere 容器部署 Wiki 系統(tǒng) wiki.js 并啟用中文全文檢索

評論