k8s和Docker关系简单说明

 更新时间:2021年03月03日 17:03:08   作者:Harlan60  
这篇文章主要介绍了k8s和Docker关系简单说明,本文利于图文讲解的很透彻,有需要的同学可以研究下

最近项目用到kubernetes(以下简称k8s,k和s之间有8个字母)。虽然之前也有简单使用过,但最近发现k8s概念较多,命令也有些不够用了,故想借此机会写点东西,更全面认识并使用k8s。本篇文章目的:让你更全面了解k8s概念,以及学到在工作中常用的操作。整体更偏向于原理和应用。在正式开始k8s之前,我们先看看k8s和Docker的关系,分别从虚拟化角度、部署方式角度叙述why use容器,话不多说,开干。

目前发现并没有将kubernetes和Docker技术产生背景和需求进行比较的文章,本文从最纯正的官方定义角度出发并展开,阐述二者产生背景及与传统技术对比。

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

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

与传统技术对比:
接下来我们看两张经典的图:

一、从虚拟化角度:

图1

上图是Docker容器(可用k8s管理的玩意儿)与传统虚拟化方式的不同之处,传统的虚拟技术,在将物理硬件虚拟成多套硬件后,需要再每套硬件上都部署一个操作系统,接着在这些操作系统上运行相应的应用程序。而Docker容器内的应用程序进程直接运行在宿主机(真实物理机)的内核上,Docker引擎将一些各自独立的应用程序和它们各自的依赖打包,相互独立直接运行于未经虚拟化的宿主机硬件上,同时各个容器也没有自己的内核,显然比传统虚拟机更轻便。 每个集群有多个节点,每个节点可,我们的kuberbete就是管理这些应用程序所在的小运行环境(container)而生。

二、从部署角度

图2

注意,大家别把这幅图与上面Docker的那张图混淆了,图1是从虚拟化角度,说明了为应用提供必要的运行环境所需要做的虚拟化操作(即:传统:虚拟出的虚拟机装操作系统、Docker:容器引擎管理下的容器)。

而图2是在这些具体运行环境上进行真实应用部署时的情况,传统方式是将所有应用直接部署在同一个物理机器节点上,这样每个App的依赖都是完全相同的,无法做到App之间隔离,当然,为了隔离,我们也可以通过创建虚拟机的方式来将App部署到其中(就像图1上半部分那样),但这样太过繁重,故比虚拟机更轻便的Docker技术出现,现在我们通过部署Container容器的技术来部署应用,全部Container运行在容器引擎上即可。既然嫌弃虚拟机繁重,想用Docker,那好,你用吧,怎么用呢?手动一个一个创建?当然不,故kubernetes技术便出现了,以kubernetes为代表的容器集群管理系统,这时候就该上场表演了。

说白了,我们用kubernetes去管理Docker集群,即可以将Docker看成Kubernetes内部使用的低级别组件。另外,kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。希望我这篇文章中简单的描述能让你对两者有所理解和认识。

到此这篇关于k8s和Docker关系简单说明的文章就介绍到这了,更多相关k8s和Docker关系内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker配置openGauss数据库的方法详解

    docker配置openGauss数据库的方法详解

    这篇文章主要介绍了docker配置openGauss数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • docker部署apollo详细教程

    docker部署apollo详细教程

    这篇文章主要介绍了docker部署apollo详细教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker下多容器搭建 lamp的详细过程(httpd+mysql+php+redis)

    Docker下多容器搭建 lamp的详细过程(httpd+mysql+php+redis)

    这篇文章主要介绍了Docker下多容器搭建lamp的详细过程(httpd+mysql+php+redis),搭建拉取所需镜像,本文给大家讲解的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-01-01
  • 详解Ubuntu Docker Registry 搭建私有仓库

    详解Ubuntu Docker Registry 搭建私有仓库

    这篇文章主要介绍了详解Ubuntu Docker Registry 搭建私有仓库,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Docker容器访问宿主机网络的方法

    Docker容器访问宿主机网络的方法

    这篇文章主要介绍了Docker容器访问宿主机网络的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 利用docker-compsoe部署前后端分离的项目方法

    利用docker-compsoe部署前后端分离的项目方法

    这篇文章主要介绍了利用docker-compsoe部署前后端分离的项目方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • docker通过Dockerfile构建mysql镜像的方法

    docker通过Dockerfile构建mysql镜像的方法

    这篇文章主要介绍了docker通过Dockerfile构建mysql镜像,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 云原生Docker容器自定义DNS解析

    云原生Docker容器自定义DNS解析

    Docker没有为每个容器专门定制镜像,那么怎么自定义配置容器的DNS配置呢?这篇文章主要给大家介绍了关于云原生Docker容器自定义DNS的相关资料,需要的朋友可以参考下
    2023-02-02
  • docke自定义网络之容器互联

    docke自定义网络之容器互联

    大家好,本篇文章主要讲的是docke自定义网络之容器互联,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Linux系统Docker 部署 ASP.NET Core应用的流程分析

    Linux系统Docker 部署 ASP.NET Core应用的流程分析

    这篇文章主要介绍了Linux系统Docker 部署 ASP.NET Core应用的流程分析,在操作过程中小编遇到很多问题,下面把我的经验及处理方法分享到脚本之家平台,需要的朋友参考下吧
    2021-06-06

最新评论