人們普遍認為“云計算”一詞非常熟悉。
作為信息技術發展的主流趨勢,它經常出現在我們面前。除此以外,還有這些概念性術語– OpenStack,Hypervisor,KVM,Docker,K8S等。
這些概念都屬于云計算技術領域。
對于初學者而言,了解這些概念的具體含義并非易事。
因此,今天的文章將為您提供一個易于理解的介紹,解釋這些云計算概念及其之間的關系,并希望能幫助您入門。
什么是云計算?
發明計算機時,沒有網絡。每臺計算機(PC)都是一臺計算機。
該獨立單元包括諸如CPU,內存,硬盤和圖形卡之類的硬件。用戶將操作系統和應用程序軟件安裝在一臺計算機上以完成其工作。
之后,借助網絡,在獨立服務器和獨立服務器之間,您可以交換信息并一起工作。
然后,獨立服務器的性能變得越來越強,服務器出現了。已經發現,可以將一些服務器集中放置在計算機室中,然后允許它們通過網絡訪問和使用計算機室中的計算機資源。
后來,小型網絡變成了大型網絡,并且有了Internet。小型機房已變成大型機房,并且有一個IDC(Internet數據中心)。
隨著越來越多的計算機資源和應用程序服務(例如應用程序,例如網頁,電影)匯集在一起,它變成了“云計算”。數不清的大型機房已變成“烏云”。
如何實施云計算?
云計算的概念很簡單。坦率地說,它是集中計算機資源并將其放在網絡上。但是,云計算的實現非常復雜。
例如,如果您只是將服務器放置在公司的小型機房中,打開FTP下載服務,然后將其用于幾個同事之間的電影共享,則非常簡單。
如果是一個購物節,數十億用戶訪問在線商店,每天數十個PB(1PB = 1024TB = 1024×1024GB),每秒數百GB的流量……這個問題不是幾個服務器和一個服務器。少數網絡電纜可以解決。
這時,有必要設計一種具有超大容量,超高并發(同時訪問),超快速和安全性的云計算系統,以滿足業務平穩運行的需求。這就是云計算的復雜性。
剛才說過,我們將計算機資源放在云中。此計算機資源實際上分為幾個級別:
級
它是級別的硬件資源,包括CPU(計算資源),硬盤(存儲資源)和網卡(網絡資源)。
第二級
為了更高級,我不會直接使用CPU,硬盤或網卡。我希望您可以安裝操作系統(例如Windows,Linux)并安裝數據庫軟件。我將再次使用它。
第三級
更高級的是,您不僅必須安裝基本的操作系統,還必須安裝特定的應用程序軟件,例如FTP服務器軟件,在線視頻服務器軟件等,我可以直接使用該服務。
這三個級別是人們經常聽到的IaaS,Paas和SaaS。
目前,亞馬遜AWS,阿里云,華為云等主流云計算服務提供商都是白色的,提供了以上三個層次的云資源。您想要什么,他們提供什么。您想要多少,他們提供多少。
Amazon AWS和華為如何提供如此多樣化和多層的云計算服務?
是手動安排嗎?
如果您想要八核CPU,16GB RAM,500GB硬盤服務器,AWS會臨時安排工程師來幫助您組裝?
如果要安裝CentOS 7.2(類似于Linux的操作系統),MySQL 5.5.60(數據庫系統),阿里還可以暫時讓工程師幫助您安裝配置嗎?
這顯然是不可能的,無法負擔人力,也無法等待時間。
結果,有各種各樣的軟件和平臺負責快速呼叫和資源的集中管理。
什么是虛擬化?
如果要管理物理資源,步是“虛擬化”。
虛擬化是云計算的基礎。簡而言之,虛擬化是單個物理服務器上多個“虛擬服務器”的操作。這種虛擬服務器也稱為虛擬機(VM,Virtual Machine)。
從表面上看,這些虛擬機是獨立的服務器,但實際上,它們共享物理服務器的CPU,內存,硬件,網卡和其他資源。
一臺物理機器,通常稱為“主機”。虛擬機稱為“來賓”。
誰來完成虛擬資源虛擬化工作?
它是的管理程序。
系統管理程序是“超級管理程序”,也稱為VMM(虛擬機監視器)。它不是特定的軟件,而是一類軟件的總稱。
系統管理程序分為兩大類:
在類中,管理程序直接在物理機上運行。虛擬機在管理程序之上運行。在第二類中,在物理機上安裝了常規操作系統(例如Linux或Windows),然后在常規操作系統上安裝了管理程序,以生成和管理虛擬機。
像VMware,KVM,Xen,Virtual Box一樣,都屬于管理程序。
每個人都應該熟悉VMware,即VMware Workstation。學習Linux時,許多人在Windows下安裝WMware,然后創建Linux虛擬機。
但是,真正強大的功能是KVM(基于內核的虛擬機)。它是當前,歡迎的虛擬化解決方案。
虛擬機監控程序軟件(例如KVM)實際上提供了一種虛擬化功能,可以模擬CPU的運行,并且級別較低。但是,它的用戶交互不好,使用起來也不方便。
因此,為了更好地管理虛擬機,需要諸如OpenStack的云管理平臺。
關于OpenStack,它有點像一家商店,負責管理出售給用戶的商品(計算資源,存儲資源,網絡資源等),但它本身并不生產商品(不具有虛擬化功能), ,來自KVM。當然,如果您不使用KVM,則可以使用其他虛擬機管理程序,例如Xen。
什么是容器?
什么是Docker和K8S?
之前我們介紹了虛擬化。使用虛擬化一段時間后,人們發現它存在一些問題:
有時,不同的用戶只想運行一些簡單的程序并運行一個小的過程。為了不互相影響,必須構建虛擬機。如果您構建虛擬機,顯然浪費會有點大,操作會更復雜,并且需要很長時間。
此外,有時,如果要遷移自己的服務程序,則需要遷移整個虛擬機。顯然,遷移過程可能很復雜。
有沒有辦法變得更靈活,更快?
是的,這引入了“容器”。
容器也已虛擬化,但屬于“輕量級”虛擬化。其目的與虛擬機相同,目的是創建“隔離環境”。但是,它與虛擬機有很大的不同–虛擬機在操作系統級別是資源隔離,而容器本質上是進程級資源隔離。
虛擬化VS容器
Docker是用于創建容器的工具,它是應用程序容器引擎。
與傳統虛擬機相比,Docker具有快速,二階和資源高效的優勢(一個主機可以同時運行數千個Docker容器)。此外,它占用少量空間,虛擬機的成本通常為幾GB到數十GB,并且容器僅需要MB甚至KB。
除了Docker創建容器外,我們還需要一個工具來協調容器。
該工具是K8S。
K8S是Kubernetes。Kubernetes這個詞很長,所以每個人都在中間縮寫8個字母并變成K8S。
K8S是一個容器集群管理系統,主要職責是容器編排–啟動容器,自動化部署,擴展和管理容器應用程序以及回收容器。
簡而言之,K8S有點像保姆。它負責管理容器在哪臺機器上運行,監視容器中的問題,控制容器與外界之間的通信等等。
除了K8S,還有許多容器管理平臺,例如Compose,Marathon,Swarm,Mesos等。
Docker和K8S是應用程序層,而不是基礎結構和物理資源,因此它們屬于PaaS。



所有評論僅代表網友意見,與本站立場無關。