您的位置:首页 > 技术中心 > 运维 >

docker和k8s有什么关系

时间:2020-06-24 14:26

一、首先我们来看看官方对docker和k8s的定义:

Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。

(推荐教程:docker)

k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

二、接下来我们来看看二者与传统技术的对比:

1、从虚拟化角度

传统的虚拟技术,在将物理硬件虚拟成多套硬件后,需要再每套硬件上都部署一个操作系统,接着在这些操作系统上运行相应的应用程序。

而Docker容器内的应用程序进程直接运行在宿主机(真实物理机)的内核上,Docker引擎将一些各自独立的应用程序和它们各自的依赖打包,相互独立直接运行于未经虚拟化的宿主机硬件上,同时各个容器也没有自己的内核,显然比传统虚拟机更轻便。

每个集群有多个节点,每个节点可,我们的kuberbete就是管理这些应用程序所在的小运行环境(container)而生。

2、从部署角度

传统方式是将所有应用直接部署在同一个物理机器节点上,这样每个App的依赖都是完全相同的,无法做到App之间隔离,当然,为了隔离,我们也可以通过创建虚拟机的方式来将App部署到其中,但这样太过繁重。

现在我们通过部署Container容器的技术来部署应用,全部Container运行在容器引擎上即可。

既然嫌弃虚拟机繁重,想用Docker,那好,你用吧,怎么用呢?手动一个一个创建?当然不,故kubernetes技术便出现了,以kubernetes为代表的容器集群管理系统,这时候就该上场表演了。

三、最后我们来分析一下docker和k8s的关系:

我们用kubernetes去管理Docker集群,即可以将Docker看成Kubernetes内部使用的低级别组件。

另外,kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。

以上就是docker和k8s有什么关系的详细内容,更多请关注gxlcms其它相关文章!

热门排行

今日推荐

热门手游