薄情先生|Docker,容器,编排,和基于容器的系统设计模式
都2020年了 , 容器 , 或者说docker容器这个概念 , 从事互联网行业的开发者应该都不会感到陌生 。 无论大厂还是小厂的应用部署现在都首选docker容器 。
但是docker虽好 , 却并非万能 。 docker本身 , 其实仅仅是提供了一种沙盒的机制 , 对不同应用进行隔离 。 镜像是它出彩的一个设计 , 可以让开发者们快速部署应用 。 但这对大型应用管理来说 , 是远远不够的 。 开发者们在意识到这个问题后 , 提出了编排这个概念 , 从而引发的新的纷争 。。。
本篇文章从容器的历史开始说起 , 然后介绍编排领域 , swarm和k8s的纷争 , 最后讨论基于容器的系统设计模式 , 这个设计模式参考自google的论文 , 当然是基于k8s的啦~
ps:容器并非只有docker , 但本篇暂略去了它们的差异 , 大部分情况下这两个词可以等价 。
从容器说起背景在虚拟机和云计算较为成熟的时候 , 各家公司想在云服务器上部署应用 , 通常都是像部署物理机那样使用脚本或手动部署 , 但由于本地环境和云环境不一致 , 往往会出现各种小问题 。
这时候有个叫Paas的项目 , 就是专注于解决本地环境与云端环境不一致的问题 , 并且提供了 应用托管 的功能 。 简单得说 , 就是在云服务器上部署Paas对应的服务端 , 然后本机就能一键push , 将本地应用部署到云端机器 。 然后由于云服务器上 , 一个Paas服务端 , 会接收多个用户提交的应用 , 所以其底层提供了一套隔离机制 , 为每个提交的应用创建一个 沙盒, 每个沙盒之间彼此隔离 , 互不干涉 。
看看 , 这个沙盒是不是和docker很类似呢? 实际上 , 容器技术并不是docker的专属 , docker只是众多实现容器技术中的一个而已。 那为什么后来docker会变得如日中天呢?还是得从Paas说起 。
Paas的本质就是通过一套打包(本地)-分发(云)的机制 , 帮助用户将应用分发到大规模的集群中 , 容器技术只是其中比较底层的一部分而已 。 听起来很完美 , 但问题恰恰就出现在这个打包功能上 。 打包功能比较繁琐 , 要为每个应用 , 语言 , 版本都打一个包 , 重点是打包过程常常出现问题 , 很可能本地运行得好好的 , 打包到Paas上就出现问题 , 而且这种问题无迹可寻 , 只能通过试错解决 。换句话说 , Paas确实可以让你体验到一键部署的快感 , 但在这之前 , 你要先体验打包过程的万千痛苦。
这个让用户痛苦万分的打包 , docker的一个小创新的却能够解决 ,那就是镜像。 镜像本身也是一种打包机制 , 并且这个镜像通常包含完整的操作系统 , 可以尽可能还原本地环境 , 同时你的应用还包含在这里面 。
【薄情先生|Docker,容器,编排,和基于容器的系统设计模式】通过镜像这种东西 , 你可以方便得在本地开发 , 然后将镜像上传到云端服务器部署 , 且基本不需要或者只需要少量修改就可以使云端服务器拥有和本地一样的应用环境 , 然后可以通过这个镜像建立彼此隔离的沙盒环境 , 以部署自己的多个应用 。
但是 , docker虽然解决了Paas打包难的问题 , 但Paas原本的大规模集群部署的能力 , 却是docker的弱项 , 甚至docker本身并没有这方面的功能 。
才有了后来提出的容器 编排 概念 , Swarm和K8s就是围绕这块而起的纷争 , 当然那是另外一个故事了 。
docker实现原理说完了docker实现原理 , 接下来就来看看docker底层是如何实现 沙盒 隔离机制的 。
说起docker , 很多人都会将它与虚拟机进行比较 , 基本都会引用下面这张图:
其中左边是虚拟机的结构 , 右边是docker容器的结构 , 但这张图其实不是那么准确 。 在虚拟机中 , 通过Hypervisor对硬件资源进行虚拟化 , 在这部分硬件资源上安装操作系统 , 从而可以让上层的虚拟机和底层的宿主机相互隔离 。 但docker是没有这种功能的 , 我们在docker容器中看到的与宿主机相互隔离的 沙盒 环境(文件系统 , 资源 , 进程环境等) ,本质上是通过linux的Namespace机制 , CGroups(Control Groups)和Chroot等功能实现的 。 实际上Docker依旧是运行在宿主机上的一个进程(进程组), 只是通过一些障眼法让docker以为自己是一个独立环境 。 接下来我们简单介绍下这部分内容 。
推荐阅读
- 张先生18823381855|转让海翼国际控股
- 先生|一停就是10年,60万豪车竟没人要?车主说:我不能动……
- 明星八卦|靳东亮相新戏发布会,阵容曝光被批不如《恋爱先生》,你怎么看
- 9月7日晚间|柏堡龙:实际控制人陈伟雄先生、陈娜娜女士解除质押共约2690万股
- 先生|60万豪车竟没人要?车主说:我不能动……,一停就是10年
- 包先生|什么包显品味还不撞包?看看这篇你就知道了!
- 疫情后的九先生轰趴馆市场前景依旧稳定
- 薄情先生|热烈祝贺首批CPAC分散控制系统产品正式交付
- 薄情先生|汉华推出氮化镓PD快充散热解决方案,全方位满足电源厂商需求
- 郭艾伦|辽宁男篮好消息!核心后卫正式留队,成为CBA顶薪先生
