背景
云主机是用户使用最高频的云产品之一。随着云主机数量的增多,如何在云主机中保证版本化部署的一致性,成为用户常见的难题。在现有情况下,用户首先需要手动或使用脚本连接主机,然后再进行部署安装,操作流程复杂且对环境要求苛刻,难以保证一致性和可用性。
为了解决此类问题,UCloud 开发了相关代码,并被自动化构建镜像工具 Packer 的官方仓库所采纳。通过 Packer 创建自定义镜像,可以减少部署时间并提高可靠性,提高了用户自动化部署的能力。8月14日,Hashicorp 官方正式发布了版本 1.4.3 ,其中包括了 UCloud Packer Builder。
Packer是什么?
Packer 是 Hashicorp 公司推出的自动化打包镜像的轻量级开源工具,云厂商通过构建自己的 Builder 集成到 Packer 中去,即可凭借单一配置文件,高效并行的为多云平台创建一致性的镜像。目前 Packer 已经形成完整生态,并与多家主流云厂商建立合作。
UCloud Packer 可以运行在常用的主流操作系统上,它不是 Chef、Puppet 等软件的替代品,而是集成并使用这些自动化配置工具在镜像上预装软件等。再配合 UCloud Terraform、UCloud CLI 等工具,可以在多云的 DevOps 场景下,实现基础设施即代码(IaC)、持续集成和快速交付。
如下图所示,Packer 通过在 Provisioner 中集成 Chef、Shell、Puppet 等工具,制作包含各类软件的不可变镜像,供多云平台的云主机、Docker 等使用。
Hashicorp 官方将 Packer 的优势描述如下:
1. 基础架构迅速部署:Packer 镜像可以在几秒钟内启动完全配置的云主机,