新聞中心
淺談云計(jì)算:OpenStack、docker、K8S的演進(jìn)史
作者:xiaoxiao落木 2020-11-05 11:11:26
云計(jì)算
OpenStack 當(dāng)需要配置同樣的環(huán)境時(shí),就把別人的鏡像拿過(guò)來(lái),進(jìn)入鏡像之后,就進(jìn)入了別人搭建好的環(huán)境,而我們只需要提供硬件支持即可,而這個(gè)鏡像就是 docker 容器。

成都創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)喀喇沁,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220
引子
作為一名程序員,設(shè)計(jì)程序架構(gòu)、優(yōu)化算法已經(jīng)是一件很頭疼的事了,然而,還有更讓人煩躁的,那就是環(huán)境配置,想必各位同學(xué)們都深有體會(huì)。每個(gè)人的電腦都不一樣,不管是軟件還是硬件,或者是要依賴的環(huán)境,因此同樣的安裝流程在別人那里是好使的,在你這就處處 bug,在電腦 A 上能順利安裝,在電腦 B 上就遇到問(wèn)題了。于是有人就想出了一個(gè)辦法,大家何不把自己配置好的環(huán)境打包成鏡像呢?當(dāng)需要配置同樣的環(huán)境時(shí),就把別人的鏡像拿過(guò)來(lái),進(jìn)入鏡像之后,就進(jìn)入了別人搭建好的環(huán)境,而我們只需要提供硬件支持即可,而這個(gè)鏡像就是 docker 容器。什么是鏡像呢?簡(jiǎn)單來(lái)說(shuō),鏡像就類似操作系統(tǒng)光盤介質(zhì),docker 容器相當(dāng)于通過(guò)光盤安裝后的系統(tǒng)。通過(guò)光盤(鏡像),我們能在不同機(jī)器上部署系統(tǒng)(容器),系統(tǒng)內(nèi)的操作只會(huì)保留限制在當(dāng)前的系統(tǒng)(容器)中。需要了解的是,像 docker 這樣的容器有很多種,而 docker 只是其中之一,但它是最受歡迎的,也因此占據(jù)了大半的市場(chǎng)份額。其他容器還有 CoreOS rkt、Mesos、lxc 等。
OpenStack 的誕生
我們都知道,全球云市場(chǎng)被三大巨頭壟斷,分別是亞馬遜(Amazon)、微軟(MicroSoft)和 阿里巴巴(Alibaba),而亞馬遜正是云計(jì)算的開(kāi)山鼻祖。
早在 2003 年,Amazon 向客戶推出了一項(xiàng)全新的業(yè)務(wù)——包括存儲(chǔ)空間、計(jì)算能力等資源服務(wù)的 Web Service,這就是大名鼎鼎的 AWS(Amazon Web Service)。說(shuō)白了,就是給大家提供了遠(yuǎn)程電腦,上面配置了各種滿足你需求的服務(wù),你可以遠(yuǎn)程使用它,這就是云計(jì)算最早的形式。到了 2006 年,亞馬遜又推出了一種配置更簡(jiǎn)單、方便的彈性計(jì)算云(Elastic Compute Cloud),又稱 EC2 。而在同年的 8月9日,Google首席執(zhí)行官埃里克·施密特在搜索引擎大會(huì)上首次提出“云計(jì)算”(Cloud Computing)的概念。從此,云計(jì)算進(jìn)入了高速發(fā)展階段。時(shí)間轉(zhuǎn)到了 2010 年,一家名叫 Rackspace 的公司,同樣在做云主機(jī)和云儲(chǔ)存服務(wù),和 Amazon PK 了多年,但是在競(jìng)爭(zhēng)中一直處于下風(fēng)。最終,他們把云服務(wù)代碼給開(kāi)源了。隨后,NASA 也步后塵,開(kāi)放了其在云領(lǐng)域多年的研究成果,并與 Rackspace 聯(lián)手共同成立了一個(gè)開(kāi)源項(xiàng)目。這個(gè)項(xiàng)目,就是 OpenStack,也是云計(jì)算發(fā)展的里程碑。
OpenStack 是什么
現(xiàn)在的云上資源(計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等)都是以集群的形式存在,這些集群里的物理機(jī)(Host)可以放在一個(gè)機(jī)房里,也可以分布式放在各個(gè)地方,而一個(gè) host 上又可以虛擬出多個(gè)虛擬機(jī)(VM)。關(guān)于虛擬化技術(shù),可以參考我之前的文章。而 OpenStack 從一開(kāi)始,就是為了云計(jì)算服務(wù)的,它就是一套軟件,一套 IaaS 軟件,用來(lái)管理集群里所有 Host(物理機(jī))上的所有 VM(虛擬機(jī))。什么是 IaaS?Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù)。這里的關(guān)鍵字是“基礎(chǔ)設(shè)施”,也就是物理機(jī)。各大公司在 OpenStack 上進(jìn)行了二次開(kāi)發(fā),形成了自己的 Iaas 軟件,比如華為的 FusionSphere平臺(tái) 和中興的 TECS 平臺(tái)。OpenStack 的安裝部署非??焖?,兼容性和適用性極強(qiáng),而且便宜,一直很受市場(chǎng)歡迎。
Docker 的出現(xiàn)
按理說(shuō),Host 虛擬化出來(lái)了許多 VM,云上資源粒度劃分已經(jīng)很細(xì)了,也已經(jīng)能做到資源的充分利用。然而,虛擬機(jī)的性能開(kāi)銷很嚴(yán)重。主要由于兩點(diǎn)原因:一是虛擬層的引入;其二是因?yàn)?VM 的操作系統(tǒng)和 Host 的操作系統(tǒng)不一致,導(dǎo)致與操作系統(tǒng)有關(guān)的性能優(yōu)化手段不能應(yīng)用到所有的 VM 上。如果說(shuō)虛擬機(jī)技術(shù)開(kāi)啟了云計(jì)算時(shí)代,那么 Docker 容器作為下一代虛擬化技術(shù),將云計(jì)算推向了高潮。
- 虛擬機(jī)和 Docker 的區(qū)別
首先,你要明確一點(diǎn):Docker 容器不是虛擬機(jī),但你可以把它近似看成一種輕量級(jí)的虛擬機(jī)。
一個(gè) VM 里可以創(chuàng)建多個(gè) Docker 容器。
Docker 比虛擬機(jī)更節(jié)省內(nèi)存,啟動(dòng)更快,數(shù)量級(jí)上”虛擬機(jī)需要數(shù)分鐘啟動(dòng),而 Docker 只需要50毫秒”,這是因?yàn)?Docker 是利用宿主(VM)的系統(tǒng)內(nèi)核。
K8S - 為 Docker 而生
當(dāng)只需要一個(gè) 容器時(shí),你可以手工部署,沒(méi)有問(wèn)題。然而在集群里要部署海量的 Docker,還要管理它們時(shí),手工顯然不現(xiàn)實(shí)了,于是 Kubernetes 這種更高維度的容器編排工具應(yīng)運(yùn)而生。Kubernetes 簡(jiǎn)稱 K8S, 它抽象了所有物理機(jī)資源,將所有云主機(jī)抽象成一個(gè)資源池,而這個(gè)池子里裝的就是一個(gè)個(gè)容器。容器就是孩子,而 K8S 就是這些孩子們的親媽,為啥這么說(shuō)呢?比如,應(yīng)用程序發(fā)現(xiàn) CPU 不夠用時(shí),K8S 就將其調(diào)度到另一臺(tái) CPU 足夠用的機(jī)器上,內(nèi)存不滿足要求時(shí),K8S就會(huì)幫忙尋找一臺(tái)有足夠內(nèi)存的機(jī)器,并在上面創(chuàng)建對(duì)應(yīng)的容器。更重要的是,一旦應(yīng)用層序由于某些原因掛掉了, K8S 還會(huì)幫它自動(dòng)遷移重啟, 照顧得簡(jiǎn)直無(wú)微不至。而開(kāi)發(fā)者只關(guān)心自己的代碼,容災(zāi)備份、服務(wù)資源擴(kuò)充則由 K8S 保證。
說(shuō)到這里,你可能認(rèn)為”K8S“的調(diào)度單位是一個(gè)容器(container)。事實(shí)上,K8S 調(diào)度的基本單位為 pod, 一個(gè) pod 表示一個(gè)或多個(gè)容器。引用一本書里所說(shuō)“之所以沒(méi)有使用容器作為調(diào)度單位,是因?yàn)閱我坏娜萜鳑](méi)有構(gòu)成服務(wù)的概念;例如 Web 應(yīng)用做了前后端分離,需要一個(gè) NodeJS 與 Tomcat 才能組成一個(gè)完整的服務(wù),這樣就需要部署兩個(gè)容器來(lái)實(shí)現(xiàn)一個(gè)完整的服務(wù),雖然也可以把他們都放到一個(gè)容器里,但這顯然違反了一個(gè)容器即一個(gè)進(jìn)程的核心思想 --《Service Mesh實(shí)戰(zhàn) - 用 istio軟負(fù)載實(shí)現(xiàn)服務(wù)網(wǎng)格》”
本文名稱:淺談云計(jì)算:OpenStack、Docker、K8S的演進(jìn)史
轉(zhuǎn)載注明:http://m.5511xx.com/article/dpdgsgp.html


咨詢
建站咨詢
