上QQ阅读APP看书,第一时间看更新
前言
过去,应用程序的部署并没有如今这么简单,要先找到物理机或者虚拟机,而这些机器必须先安装操作系统,再部署基础应用与数据库,最后才部署目标应用程序。作者曾体验过这些复杂的部署过程,也曾编写过长达几十页的部署文档。每次部署一台新机器时,总会面临各种不同的挑战,要解决各式各样的运行环境问题。即使后来引入了自动化部署,也没有从根源上解决运行环境问题。
直到容器技术(如Docker)发展与流行起来,才真正从根源上解决了这些问题。容器技术将应用程序与程序依赖都打包到镜像中,供开发者复制、分发。使用容器技术,不仅提高了打包的速度,还拥有更高的资源利用率。最重要的是,能保持运行环境的一致性,真正做到“一次构建,随处运行”(build once, run anywhere)。这为开发人员、运维人员与测试人员带来了极大的便利,大大提高了效率,降低了运维成本。对于现代互联网企业,更高的效率就意味着能拥有更大的生存空间,更能实时响应竞争环境的变化。
基于基础的容器技术,Kubernetes是一套容器集群管理系统,是一个开源平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能,充分发挥容器技术的潜力,给企业带来真正的便利。Kubernetes拥有自动包装、自我修复、横向缩放、服务发现、负载均衡、自动部署、升级回滚、存储编排等特性,不仅支持Docker,还支持Rocket。Kubernetes与DevOps、微服务等相辅相成,共同推进现代的数字化变革。