OpenStack、虛擬機以及和當前流行的k8s、Docker四者之間的關系


一、OpenStack與虛擬機之間的關系

OpenStack使用Python語言開發,是虛擬資源管理工具,他可以協助你搜集各種資源,並加以利用以及管理,實現物理資源的高效使用和安全。虛擬化物理機這個動作,OpenStack無法完成,需要一個中間層例如KVM、Xen、VMware等來基於硬件做資源的虛擬化,然后此時OpenStack通過各種API接口來接管這些資源。

OpenStack 主要針對 IaaS平台,以資源為中心,可以為上層的 PaaS 平台提供存儲、網絡、計算等資源。

二、與Docker和k8s的關系

1.OpenStack:公認的雲計算IaaS平台,其管理的核心目標對象是機器(虛擬機或物理機),當然也可以管理存儲和網絡,但那些也大都是圍繞着機器所提供的配套資源。近年來容器技術火了之后,OpenStack也開始通過各種方式增加對容器的支持,但目前OpenStack還不被視為管理容器的主流平台。

2.Docker:這里我假定你指的是Docker engine(也叫做Docker daemon,或最新的名字:Moby),它是一種容器運行時(container runtime)的實現,而且是最主流的實現,幾乎就是容器業界的標准。Docker是用來創建和管理容器的,它和容器的關系就好比KVM和虛擬機之間的關系。當然,Docker公司對Docker engine本身的定位和期望不僅僅在於在單機上管理容器,所以近年來一直在向Docker engine中加入各種各樣的高級功能,比如:組建多節點的Docker集群、容器編排、服務發現,等等。

3.Kubernetes(k8s):搭建容器集群和進行容器編排的主流開源項目(親爹是Google),適合搭建PaaS平台。容器是Kubernetes管理的核心目標對象,它和容器的關系就好比OpenStack和虛擬機之間的關系,而它和Docker的關系就好比OpenStack和kvm之間的關系。一般來說,Kubernetes是和Docker配合使用的,Kubernetes調用每個節點上的Docker去創建和管理容器,所以,你可以認為Kubernetes是大腦,而Docker是四肢。

 

三、一句話總結

OpenStack是管理虛擬機的(web可視化平台,在linux里邊部署配置),k8s是管理容器的(web可視化平台,在linux里邊部署配置);上層的應用是部署在容器上的,而一般容器又是創建在虛擬機上的,所以OpenStack是屬於IaaS層面的,k8s是屬於PaaS層面的,上層應用是屬於SaaS層面的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM