這篇文章主要介紹了k8s和Docker關(guān)系簡(jiǎn)單說明,本文利用圖文講解的很透徹,有需要的同學(xué)可以研究下
最近項(xiàng)目用到kubernetes(以下簡(jiǎn)稱k8s,k和s之間有8個(gè)字母)。雖然之前也有簡(jiǎn)單使用過,但最近發(fā)現(xiàn)k8s概念較多,命令也有些不夠用了,故想借此機(jī)會(huì)寫點(diǎn)東西,更全面認(rèn)識(shí)并使用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ù)對(duì)比。
簡(jiǎn)要介紹:
官方定義1:Docker是一個(gè)開源的應(yīng)用容器引擎,開發(fā)者可以打包他們的應(yīng)用及依賴到一個(gè)可移植的容器中,發(fā)布到流行的Linux機(jī)器上,也可實(shí)現(xiàn)虛擬化。
官方定義2:k8s是一個(gè)開源的容器集群管理系統(tǒng),可以實(shí)現(xiàn)容器集群的自動(dòng)化部署、自動(dòng)擴(kuò)縮容、維護(hù)等功能。
與傳統(tǒng)技術(shù)對(duì)比:
接下來我們看兩張經(jīng)典的圖:
一、從虛擬化角度:
Docker容器(可用k8s管理的玩意兒)與傳統(tǒng)虛擬化方式的不同之處:傳統(tǒng)的虛擬技術(shù)在將物理硬件虛擬成多套硬件后,需要在每套硬件上都部署一個(gè)操作系統(tǒng),接著在這些操作系統(tǒng)上運(yùn)行相應(yīng)的應(yīng)用程序。
而Docker容器內(nèi)的應(yīng)用程序進(jìn)程直接運(yùn)行在宿主機(jī)(真實(shí)物理機(jī))的內(nèi)核上,Docker引擎將一些各自獨(dú)立的應(yīng)用程序和它們各自的依賴打包,相互獨(dú)立直接運(yùn)行于未經(jīng)虛擬化的宿主機(jī)硬件上,同時(shí)各個(gè)容器也沒有自己的內(nèi)核,顯然比傳統(tǒng)虛擬機(jī)更輕便。每個(gè)集群有多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)可運(yùn)行多個(gè)容器,我們的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)行真實(shí)應(yīng)用部署時(shí)的情況,傳統(tǒng)方式是將所有應(yīng)用直接部署在同一個(gè)物理機(jī)器節(jié)點(diǎn)上,這樣每個(gè)App的依賴都是完全相同的,無法做到App之間隔離,當(dāng)然。
為了隔離,我們也可以通過創(chuàng)建虛擬機(jī)的方式來將App部署到其中,但這樣太過繁重,故比虛擬機(jī)更輕便的Docker技術(shù)出現(xiàn),現(xiàn)在我們通過部署Container容器的技術(shù)來部署應(yīng)用,全部Container運(yùn)行在容器引擎上即可。
既然嫌棄虛擬機(jī)繁重,想用Docker,那好,你用吧,怎么用呢?手動(dòng)一個(gè)一個(gè)創(chuàng)建?當(dāng)然不,故kubernetes技術(shù)便出現(xiàn)了,以kubernetes為代表的容器集群管理系統(tǒng),這時(shí)候就該上場(chǎng)表演了。
說白了,我們用kubernetes去管理Docker集群,即可以將Docker看成Kubernetes內(nèi)部使用的低級(jí)別組件。另外,kubernetes不僅僅支持Docker,還支持Rocket,這是另一種容器技術(shù)。希望我這篇文章中簡(jiǎn)單的描述能讓你對(duì)兩者有所理解和認(rèn)識(shí)。
到此這篇關(guān)于k8s和Docker關(guān)系簡(jiǎn)單說明的文章就介紹到這了。
https://blog.csdn.net/yanghaolong/article/details/86680282
編輯:jq
-
開源
+關(guān)注
關(guān)注
3文章
3407瀏覽量
42713 -
docker容器
+關(guān)注
關(guān)注
0文章
30瀏覽量
3346
原文標(biāo)題:k8s 和 Docker 關(guān)系簡(jiǎn)單說明
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
k8s和docker區(qū)別對(duì)比,哪個(gè)更強(qiáng)?
k8s微服務(wù)架構(gòu)就是云原生嗎??jī)烧呤鞘裁?b class='flag-5'>關(guān)系
混合云部署k8s集群方法有哪些?
docker和k8s部署在云平臺(tái)性能要求盤點(diǎn)
k8s可以部署私有云嗎?私有云部署全攻略
k8s云原生開發(fā)要求
![<b class='flag-5'>k8s</b>云原生開發(fā)要求](https://file1.elecfans.com/web2/M00/0B/06/wKgaomcZ5XOAO7bVAAGe1drYtZc769.png)
k8s容器啟動(dòng)失敗的常見原因及解決辦法
云服務(wù)器部署k8s需要什么配置?
納尼?自建K8s集群日志收集還能通過JMQ保存到JES
常用的k8s容器網(wǎng)絡(luò)模式有哪些?
K8S集群中使用JDOS KMS服務(wù)對(duì)敏感數(shù)據(jù)安全加密
![<b class='flag-5'>K8S</b>集群中使用JDOS KMS服務(wù)對(duì)敏感數(shù)據(jù)安全加密](https://file1.elecfans.com//web2/M00/01/83/wKgZoma1zJ6AcEuaAAD6dfqMV2U987.png)
K8S學(xué)習(xí)教程三:在PetaExpress KubeSphere 容器部署 Wiki 系統(tǒng) wiki.js 并啟用中文全文檢索
![<b class='flag-5'>K8S</b>學(xué)習(xí)教程三:在PetaExpress KubeSphere 容器部署 Wiki 系統(tǒng) wiki.js 并啟用中文全文檢索](https://file1.elecfans.com/web2/M00/F7/94/wKgZomaE_LWAIzZtAACo5pTAtaY093.png)
K8S學(xué)習(xí)教程(二):在 PetaExpress KubeSphere容器平臺(tái)部署高可用 Redis 集群
![<b class='flag-5'>K8S</b>學(xué)習(xí)教程(二):在 PetaExpress KubeSphere容器平臺(tái)部署高可用 Redis 集群](https://file1.elecfans.com/web2/M00/F7/94/wKgZomaE_LWAIzZtAACo5pTAtaY093.png)
ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)
![ARM平臺(tái)實(shí)現(xiàn)<b class='flag-5'>Docker</b>容器技術(shù)](https://file1.elecfans.com/web2/M00/C3/DE/wKgaomXpMM2ANlt5AARGmREsrH4588.png)
評(píng)論