容器技术Docker、Docker-Compose、k8s的演变

本文介绍了容器技术从Docker到Docker-Compose,再到k8s(Kubernetes)的演变过程。Docker解决了虚拟机资源浪费的问题,Docker-Compose用于多容器管理,而k8s则提供了集群管理和智能自动化编排,包括快速部署、智能缩扩容、自愈、负载均衡和滚动升级等功能。

  越来越多的应用开始容器化以及上云,可能有些人直接接触的就是k8s(Kubernetes)的概念以及操作了,但是理清一下容器化技术的一些演变过程,是一件很有意思的事情,同时也可以加强我们对容器化技术的深入理解和具体场景下运用哪种技术。

一、Docker vs 虚拟机

  KVM技术的发展,解放了单台服务器物理机的资源过剩的浪费,虚拟机的资源互相独立,部署应用不受影响,但缺点是占用资源多,有安全补丁更新时候要一起更新,管理起来比较麻烦。容器Docker就是为了解决这种困境,在耗费资源低的情况下,又可以方便部署资源和依赖互相独立的应用,从而实现快速部署。他们俩的层级差异如图:

在这里插入图片描述
在这里插入图片描述
  正如docker的鲸鱼图上的集装箱一样,docker的容器运行是以沙盒的机制运行,共享底层操作系统,会把应用需要的依赖打包在一起,以沙盒的方式,在同类型的操作系统上,可以自由迁移部署运行,如此就可以极大地解放了部署环境不一致的问题。

二、Docker-Compose 的诞生

  容器化的盛行,也带来了新的问题,那就是如何高效地去部署和管理这些镜像呢?因为比较大型的应用服务,往往需要多个组件一起合作才能正常运行,这就给单docker容器部署提出了挑战,Docker-Compose就像下面这只八爪章鱼,可以同时进行多容器的构建以及部署运行。

在这里插入图片描述

三、k8s(Kubernetes)的横空出世 vs Docker Swarm

  Docker和Docker-Compose的运用,充分地把单物理服务器的性能充分利用起来,并且可以快速地进行持续交付。但是如何把如下图中A机器的容器镜像迁移到其他服务器以及如果遇到高并发,如何进行负载均衡分流呢?

在这里插入图片描述
  重复地拷贝一下镜像到B服务器再运行?那如何高效地进行监控各个容器的健康运行情况以及崩溃后如何迁移服务呢?集群的管理问题,此时出现了Docker Swarm技术,是docker自家的技术,但是Google接着开源了其内部用了很久的容器治理编排工具Kubernetes,以其高效以及智能自动化的管理机制,吸引了大批开源开发者以及公司的青睐,从此一战成名,Docker Swarm的市场份额进一步低迷。故这里只介绍下k8s主要的原理以及解决了哪些痛点的问题。

在这里插入图片描述
  k8s就像一个领航员,把各种集装箱(container)有条不紊地组装起来,着重提供如下功能:
1.快速部署功能:定义对应的charts,可以方便把大型的应用部署上去。
2.智能的缩扩容机制:部署时候会自动去考虑容器应该部署在哪个服务器上,以及副本的数量可以自定义。
3.自愈功能:某个节点的服务崩溃了,可以自动迁移到另外一个服务器节点来恢复来实现高可用。
4.智能的负载均衡:利用Ingress,可以实现流量通过域名访问进来时候,进行流量的分流到不同服务器上。
5.智能的滚动升降级:升级或者降级时候,会逐个替换,当自定义数量的服务升级OK后,才会进行其他的升级以及真正销毁旧的服务。
。。。

四、几种技术的应用场景及资源占用情况

技术应用场景资源占用情况
Docker单机部署简单应用
Docker-Compose单机/少数机器部署应用
k8s集群部署高可用应用

原创文章,欢迎转载,转载请注明:ifish.site

作者:JaydenZhou

参考文档:

Docker常用命令 https://ifish.site/docker_01.html

Docker百度百科 https://baike.baidu.com/item/Docker/13344470?fr=aladdin

干货满满!10分钟看懂Docker和K8S https://my.oschina.net/jamesview/blog/2994112

Docker及Docker-Compose的使用 https://www.jianshu.com/p/ca1623ac7723

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JaydenZhou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值