当前位置:首页 > 北美洲 > 美国 >

编辑时间:2017-08-30

英文官网:进入网站

Packer是一款创建(OS)镜像的工具,它以代码为表现形式,并支持多种本地和云平台,比如支持VirtualBox的OVF和VMware的VMDK镜像,以及EC2、DigitalOcean、OpenStack、Google Compute Engine等主流云主机,甚至支持构建Docker镜像。

Packer

为什么用Packer:

首先,那就是基础设施代码化,即Infrastructure as Code。因为我们都是程序员,喜欢代码,喜欢命令行,我们喜欢在Shell执行命令,看结果在屏幕上流动那种感觉。

其次,有利于实现 Immutable Infrastructure ,即不可变基础设施,这一部分灵感来自于函数式编程,不可变带来的好处是不会发生状态污染,也就是说,环境之间的差异被消除,出了问题,很容易知道是自己代码的问题,还是OS等基础设施软件的问题。

Packer还能提高部署速度。在云计算之前,我们要想启动一台机器老费劲了,可能得从购买CPU、硬盘开始,攒成机器,装上OS,再装软件,把代码拷贝进去,再启动;有了云计算技术,前几步我们都可以省了;而使用Packer的话,只要你的程序不需要更新,所有步骤都可以省了。启动服务,约等于从镜像启动一台主机这么简单、快速。

Packer还能在一定程度上简化、方便在vendor之间进行迁移(备份),使用混合环境。比如,你可以在Digital Ocean上构架staging环境,而生产环境跑在AWS上,开发则使用桌面虚拟机技术,比如VirtualBox等。

使用者可以通过Packer建置VirtualBox、AWS或Google的映像档,让环境的组态设定完全一致,方便后续的测试或运行。有了此镜像,我们就可以随意创建任意数量的云主机出来了,从而保证了运行环境的统一。这也是基础设施代码化和不可变基础设施的一项基本条件。[Packer详细说明]

最新收录