OpenStack、虚拟机以及和当前流行的k8s、Docker

https://www.cnblogs.com/chenbin93/p/13430803.html
https://www.cnblogs.com/chenbin93/p/13378181.html

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层面的。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务