其实 Docker 和 k8s 并非直接的竞争对手,它俩相互依存 。Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器 。

文章插图
虚拟化技术已经走过了三个时代,没有容器化技术的演进就不会有 Docker 技术的诞生 。
【Docker不香吗?为什么还要用k8s】

文章插图
(1)物理机时代:多个应用程序可能会跑在一台机器上 。
(2)虚拟机时代:一台物理机器安装多个虚拟机(VM),一个虚拟机跑多个程序 。
(3)容器化时代:一台物理机安装多个容器实例(container),一个容器跑多个程序 。
开发人员编写代码,在自己本地环境测试完成后,将代码部署到测试或生产环境中,经常会遇到各种各样的问题 。明明本地完美运行的代码为什么部署后出现很多 bug,原因有很多:不同的操作系统、不同的依赖库等,总结一句话就是因为本地环境和远程环境不一致 。
容器化技术正好解决了这一关键问题,它将软件程序和运行的基础环境分开 。开发人员编码完成后将程序打包到一个容器镜像中,镜像中详细列出了所依赖的环境,在不同的容器中运行标准化的镜像,从根本上解决了环境不一致的问题 。
Docker怎么用?
其实大多数人谈论 Docker 时说的是 Docker Engine,这只是一个构建和运行的容器 。
在运行容器前需要编写Docker File,通过 dockerFile 生成镜像,然后才能运行 Docker 容器 。
Docker File 定义了运行镜像(image)所需的所有内容,包括操作系统和软件安装位置 。一般情况下都不需要从头开始编写 Docker File,在 Docker Hub 中有来自世界各地的工程师编写好的镜像,你可以基于此修改 。
编排系统的需求催生 k8s
尽管Docker为容器化的应用程序提供了开放标准,但随着容器越来越多出现了一系列新问题:
1.如何协调和调度这些容器?
2.如何在升级应用程序时不会中断服务?
3.如何监视应用程序的运行状况?
4.如何批量重新启动容器里的程序?
解决这些问题需要容器编排技术,可以将众多机器抽象,对外呈现出一台超大机器 。现在业界比较流行的有:k8s、Mesos、Docker Swarm 。
在业务发展初期只有几个微服务,这时用 Docker 就足够了,但随着业务规模逐渐扩大,容器越来越多,运维人员的工作越来越复杂,这个时候就需要编排系统解救opers 。
k8s是做什么用的?
K8s是google研发的容器协调器,已捐赠给CNCF,现已开源 。
Google 利用在容器管理多年的经验和专业知识推出了 k8s,主要用于自动化部署应用程序容器,可以支持众多容器化工具包括现在非常流行的Docker 。
目前k8s 是容器编排市场的领导者,开源并公布了一系列标准化方法,主流的公有云平台都宣布支持 。
一流的厂商都在抢占标准的制高点,一堆小厂商跟着一起玩,这就叫生态了 。国内的大厂商都在干嘛呢?抢社区团购市场,玩资本游戏,哎?!
Docker与k8s 难舍难分
Docker 和 k8s 在业界非常流行,都已经是事实上的标准 。
Docker 是用于构建、分发、运行容器的平台和工具 。
而 k8s 实际上是一个使用 Docker 容器进行编排的系统,主要围绕 pods 进行工作 。Pods 是 k8s 生态中最小的调度单位,可以包含一个或多个容器 。
Docker 和 k8s 是根本上不同的技术,两者可以很好的协同工作 。
开发实践,灵魂追问
(1)没有 k8s 可以使用 docker 吗?
可以 。实际上一些小型公司,在业务不太复杂的情况下都是直接使用 Docker 。尽管 k8s 有很多好处,但是众所周知它非常复杂,业务比较简单可以放弃使用 k8s 。
(2)没有 Docker 可以使用 k8s 吗?
k8s 只是一个容器编排器,没有容器拿什么编排?!
k8s 经常与 Docker 进行搭配使用,但是也可以使用其他容器,如RunC、Containerted 等 。
(3)Docker Swarm 和 k8s 怎么选?
选 k8s 。2019年底Docker Enterprise已经出售给Mirantis,Mirantis声明要逐步淘汰Docker Swarm,后续会将 k8s 作为默认编排工具 。
最后一个问题
Docker 不香吗?为什么还要用 k8s
如若转载,请注明出处:开源字节 https://sourcebyte.cn/article/258.html
推荐阅读
- 薛之谦与大张伟好像,大张伟是薛之谦吗-
- 空姐工作好吗待遇如何,你了解空姐的工作吗-
- 英语四六级|英语四六级有用吗?学位授予时可能用不上,但是找工作时很需要
- 头与身体分离后还有意识吗?
- 巨骨舌鱼能吃吗?
- 西红柿开花结果期施什么肥,西红柿开花期能施肥吗-
- 大一新生需要买电脑吗
- 豺是狼的一种吗,豺狼害怕什么-
- 早晚都得用洗面奶洗脸吗,每天早晚用都洗面奶洗脸好吗- - 搜狗问问-
- 竹笋焯水后可以直接炒,炒竹笋需要用水焯一下吗-
