自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談云計算:OpenStack、Docker、K8S的演進史

云計算 OpenStack
當需要配置同樣的環(huán)境時,就把別人的鏡像拿過來,進入鏡像之后,就進入了別人搭建好的環(huán)境,而我們只需要提供硬件支持即可,而這個鏡像就是 docker 容器。

引子

作為一名程序員,設(shè)計程序架構(gòu)、優(yōu)化算法已經(jīng)是一件很頭疼的事了,然而,還有更讓人煩躁的,那就是環(huán)境配置,想必各位同學們都深有體會。每個人的電腦都不一樣,不管是軟件還是硬件,或者是要依賴的環(huán)境,因此同樣的安裝流程在別人那里是好使的,在你這就處處 bug,在電腦 A 上能順利安裝,在電腦 B 上就遇到問題了。于是有人就想出了一個辦法,大家何不把自己配置好的環(huán)境打包成鏡像呢?當需要配置同樣的環(huán)境時,就把別人的鏡像拿過來,進入鏡像之后,就進入了別人搭建好的環(huán)境,而我們只需要提供硬件支持即可,而這個鏡像就是 docker 容器。什么是鏡像呢?簡單來說,鏡像就類似操作系統(tǒng)光盤介質(zhì),docker 容器相當于通過光盤安裝后的系統(tǒng)。通過光盤(鏡像),我們能在不同機器上部署系統(tǒng)(容器),系統(tǒng)內(nèi)的操作只會保留限制在當前的系統(tǒng)(容器)中。需要了解的是,像 docker 這樣的容器有很多種,而 docker 只是其中之一,但它是最受歡迎的,也因此占據(jù)了大半的市場份額。其他容器還有 CoreOS rkt、Mesos、lxc 等。

OpenStack 的誕生

我們都知道,全球云市場被三大巨頭壟斷,分別是亞馬遜(Amazon)、微軟(MicroSoft)和 阿里巴巴(Alibaba),而亞馬遜正是云計算的開山鼻祖。

早在 2003 年,Amazon 向客戶推出了一項全新的業(yè)務——包括存儲空間、計算能力等資源服務的 Web Service,這就是大名鼎鼎的 AWS(Amazon Web Service)。說白了,就是給大家提供了遠程電腦,上面配置了各種滿足你需求的服務,你可以遠程使用它,這就是云計算最早的形式。到了 2006 年,亞馬遜又推出了一種配置更簡單、方便的彈性計算云(Elastic Compute Cloud),又稱 EC2 。而在同年的 8月9日,Google首席執(zhí)行官埃里克·施密特在搜索引擎大會上首次提出“云計算”(Cloud Computing)的概念。從此,云計算進入了高速發(fā)展階段。時間轉(zhuǎn)到了 2010 年,一家名叫 Rackspace 的公司,同樣在做云主機和云儲存服務,和 Amazon PK 了多年,但是在競爭中一直處于下風。最終,他們把云服務代碼給開源了。隨后,NASA 也步后塵,開放了其在云領(lǐng)域多年的研究成果,并與 Rackspace 聯(lián)手共同成立了一個開源項目。這個項目,就是 OpenStack,也是云計算發(fā)展的里程碑。

OpenStack 是什么

現(xiàn)在的云上資源(計算、存儲、網(wǎng)絡(luò)等)都是以集群的形式存在,這些集群里的物理機(Host)可以放在一個機房里,也可以分布式放在各個地方,而一個 host 上又可以虛擬出多個虛擬機(VM)。關(guān)于虛擬化技術(shù),可以參考我之前的文章。而 OpenStack 從一開始,就是為了云計算服務的,它就是一套軟件,一套 IaaS 軟件,用來管理集群里所有 Host(物理機)上的所有 VM(虛擬機)。什么是 IaaS?Infrastructure as a Service,基礎(chǔ)設(shè)施即服務。這里的關(guān)鍵字是“基礎(chǔ)設(shè)施”,也就是物理機。各大公司在 OpenStack 上進行了二次開發(fā),形成了自己的 Iaas 軟件,比如華為的 FusionSphere平臺 和中興的 TECS 平臺。OpenStack 的安裝部署非??焖?,兼容性和適用性極強,而且便宜,一直很受市場歡迎。

 

淺談云計算:OpenStack、Docker、K8S的演進史

Docker 的出現(xiàn)

按理說,Host 虛擬化出來了許多 VM,云上資源粒度劃分已經(jīng)很細了,也已經(jīng)能做到資源的充分利用。然而,虛擬機的性能開銷很嚴重。主要由于兩點原因:一是虛擬層的引入;其二是因為 VM 的操作系統(tǒng)和 Host 的操作系統(tǒng)不一致,導致與操作系統(tǒng)有關(guān)的性能優(yōu)化手段不能應用到所有的 VM 上。如果說虛擬機技術(shù)開啟了云計算時代,那么 Docker 容器作為下一代虛擬化技術(shù),將云計算推向了高潮。

  • 虛擬機和 Docker 的區(qū)別

 

淺談云計算:OpenStack、Docker、K8S的演進史

首先,你要明確一點:Docker 容器不是虛擬機,但你可以把它近似看成一種輕量級的虛擬機。

一個 VM 里可以創(chuàng)建多個 Docker 容器。

Docker 比虛擬機更節(jié)省內(nèi)存,啟動更快,數(shù)量級上”虛擬機需要數(shù)分鐘啟動,而 Docker 只需要50毫秒”,這是因為 Docker 是利用宿主(VM)的系統(tǒng)內(nèi)核。

K8S - 為 Docker 而生

當只需要一個 容器時,你可以手工部署,沒有問題。然而在集群里要部署海量的 Docker,還要管理它們時,手工顯然不現(xiàn)實了,于是 Kubernetes 這種更高維度的容器編排工具應運而生。Kubernetes 簡稱 K8S, 它抽象了所有物理機資源,將所有云主機抽象成一個資源池,而這個池子里裝的就是一個個容器。容器就是孩子,而 K8S 就是這些孩子們的親媽,為啥這么說呢?比如,應用程序發(fā)現(xiàn) CPU 不夠用時,K8S 就將其調(diào)度到另一臺 CPU 足夠用的機器上,內(nèi)存不滿足要求時,K8S就會幫忙尋找一臺有足夠內(nèi)存的機器,并在上面創(chuàng)建對應的容器。更重要的是,一旦應用層序由于某些原因掛掉了, K8S 還會幫它自動遷移重啟, 照顧得簡直無微不至。而開發(fā)者只關(guān)心自己的代碼,容災備份、服務資源擴充則由 K8S 保證。

說到這里,你可能認為”K8S“的調(diào)度單位是一個容器(container)。事實上,K8S 調(diào)度的基本單位為 pod, 一個 pod 表示一個或多個容器。引用一本書里所說“之所以沒有使用容器作為調(diào)度單位,是因為單一的容器沒有構(gòu)成服務的概念;例如 Web 應用做了前后端分離,需要一個 NodeJS 與 Tomcat 才能組成一個完整的服務,這樣就需要部署兩個容器來實現(xiàn)一個完整的服務,雖然也可以把他們都放到一個容器里,但這顯然違反了一個容器即一個進程的核心思想 --《Service Mesh實戰(zhàn) - 用 istio軟負載實現(xiàn)服務網(wǎng)格》”

 

淺談云計算:OpenStack、Docker、K8S的演進史

 

 

責任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2021-04-25 10:26:58

云計算云原生

2021-07-14 18:21:38

負載均衡K8SgRPC

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2023-11-06 07:16:22

WasmK8s模塊

2023-03-01 08:44:42

OpenStackDockerK8S

2021-07-14 14:20:22

root命令Linux

2020-11-10 07:05:41

DockerK8S云計算

2024-09-26 09:50:07

2020-07-30 09:10:21

DockerK8s容器

2022-01-02 08:42:50

架構(gòu)部署容器

2022-04-07 10:17:18

云原生服務器優(yōu)化

2023-09-06 08:12:04

k8s云原生

2024-01-26 14:35:03

鑒權(quán)K8sNode

2024-11-27 16:37:57

2020-07-22 09:25:11

DockerK8S云計算

2023-03-06 07:19:50

2022-07-18 18:48:32

Kubernetes云原生

2022-08-26 08:00:19

企業(yè)架構(gòu)IT

2020-01-31 14:12:53

云計算HPC無服務器

2020-05-12 10:20:39

K8s kubernetes中間件
點贊
收藏

51CTO技術(shù)棧公眾號