【深入浅出容器云】关于容器云你不得不知的十(2)

由于Docker轻量并且快速,因此相对于基于Hypervisor的虚拟机的部署方式,Docker提供了一种更可行和划算的替代方案,这对于高密度部署环境尤其有用,例如在构建私有云或PaaS。当然,当你想在有限的资源里部署更多的应用时,Docker对于中小型的部署也非常有用。Docker 容器的运行不需要额外的 hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。

7.容器的启动是(毫)秒级的

通常,如果要在一台服务器上运行多个任务,传统的方法是将其划分为多个虚拟机,使用每个虚拟机来运行一个任务。但是虚拟机启动很慢,因为它们必须启动整个操作系统,这要花上几分钟的时间。而且这会占用大量资源,因为每个虚拟机都需要运行一个完整的操作系统实例。容器则提供了某种类似的行为,但是速度更快一些,因为启动一个容器就像启动一个进程。

8.像搭积木一样的进行资源编排

在基于Kubernetes的容器云中,可以实现Pod和Stack两种层面的编排。

1)Pod 编排

适用于紧耦合的服务组,保证一组服务始终部署在同一节点,并可以共享网络空间和存储卷。也就是同一个Pod 内的容器可以通过 localhost 访问彼此服务,共享网络空间,容器的端口不能互相冲突;对于同一个存储卷,可以被同一个Pod 的多个容器操作。通过 Pod 编排,使我们不需要重新构建镜像,就可以把多个服务进行整合。如果一个容器推荐仅包含一个进程,那么Pod更像是可以容纳多个进程的虚拟机。

2)Stack 编排

设计上与 Docker Compose 相似,但可以支持跨物理节点的服务之间通过 API 进行网络通信。以上两种编排均支持用 yaml 文件描述多个容器及其之间的关系,定制各个容器的属性,并可一键部署运行。

9.更简单的管理,负载均衡、弹性伸缩、日志监控、滚动升级等举手可得

对于容器云,通常只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。而以前需要耗费额外的工作去开发的一些管理运维的工作,比如负载均衡,全自动/半自动弹性伸缩,日志监控,滚动升级等都往往成为了容器云的“标配”,你无需再为这些事情而操心。

10.易于扩展和迁移

容器云的Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。容器云的这种特性类似于Java的JVM,Java程序可以运行在任意的安装了JVM的设备上,在迁移和扩展方面变得更加容易。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e77f0249cf0c8b2bae06207e9f0c77a0.html