这篇文章主要介绍使用开源工具 Packer便捷创建自定义镜像的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联公司2013年成立,先为个旧等服务建站,个旧等地企业,进行企业商务咨询服务。为个旧企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。使用Packer创建自定义镜像
开源工具 Packer 能够便捷创建自定义镜像。它能运行在大多数主流操作系统上。参阅本文安装并使用Packer,轻松创建自定义镜像。
说明
本文描述仅适用于运行Linux操作系统的服务器。
1. 安装Packer
您可以进入 Packer 官网下载页面,选择下载与您操作系统对应的版本,参阅以下步骤或者访问Packer 官方安装说明 安装 Packer。
连接并登录到Linux服务器。如果您的服务器为ECS Linux实例,可参阅文档 使用用户名密码验证连接 Linux 实例。
执行命令cd /usr/local/bin进入/usr/local/bin目录。
说明
/usr/local/bin 目录为环境变量目录,您可以将 Packer 安装到该目录下或其他已添加到环境变量的目录下。
执行命令wget https://releases.hashicorp.com/packer/1.1.1/packer_1.1.1_linux_amd64.zip获取Packer安装包。您可以访问 Packer 下载页面获取其他版本Packer安装包。
执行命令unzip packer_1.1.1_linux_amd64.zip解压文件。
执行命令packer -v验证Packer安装状态。若Linux服务器返回Packer版本号,表示您已正确安装Packer。若Linux服务器提示command not found表示Packer未正确安装。
2. 定义Packer模板
说明
使用Packer创建自定义镜像时,需要创建一个JSON格式的模板文件。在该模板文件中,您需要指定创建自定义镜像的 Alicloud Image Builder(生成器)和 Provisioners(配置器)。Packer具有多种配置器,可用于配置自定义镜像的内容生成方式,以下以常用的 Shell 配置器为例,定义Packer模板。
在Linux服务器中创建名为alicloud的json文件并粘贴以下内容。
{ "variables": { "access_key": "{{env `ALICLOUD_ACCESS_KEY`}}", "secret_key": "{{env `ALICLOUD_SECRET_KEY`}}" }, "builders": [{ "type":"alicloud-ecs", "access_key":"{{user `access_key`}}", "secret_key":"{{user `secret_key`}}", "region":"cn-beijing", "image_name":"packer_basic", "source_image":"centos_7_02_64_20G_alibase_20170818.vhd", "ssh_username":"root", "instance_type":"ecs.n1.tiny", "internet_charge_type":"PayByTraffic", "io_optimized":"true" }], "provisioners": [{ "type": "shell", "inline": [ "sleep 30", "yum install redis.x86_64 -y" ] }] }
说明
您需要自定义以下参数值。
3. 使用Packer创建自定义镜像
指定Packer模板文件生成自定义镜像:
导入您的AccessKeyID:运行export ALICLOUD_ACCESS_KEY=您的 AccessKeyID 。
导入您的AccessKeySecret:运行export ALICLOUD_SECRET_KEY=您的 AccessKeySecret 。
执行命令packer build alicloud.json创建自定义镜像。
示例运行结果如下,以下示例将创建含Redis的自定义镜像:
alicloud-ecs output will be in this color. ==> alicloud-ecs: Prevalidating alicloud image name... alicloud-ecs: Found image ID: centos_7_02_64_20G_alibase_20170818.vhd ==> alicloud-ecs: Start creating temporary keypair: packer_59e44f40-c8d6-0ee3-7fd8-b1ba08ea94b8 ==> alicloud-ecs: Start creating alicloud vpc --------------------------- ==> alicloud-ecs: Provisioning with shell script: /var/folders/3q/w38xx_js6cl6k5mwkrqsnw7w0000gn/T/packer-shell257466182 alicloud-ecs: Loaded plugins: fastestmirror --------------------------- alicloud-ecs: Total 1.3 MB/s | 650 kB 00:00 alicloud-ecs: Running transaction check --------------------------- ==> alicloud-ecs: Deleting temporary keypair... Build 'alicloud-ecs' finished. ==> Builds finished. The artifacts of successful builds are: --> alicloud-ecs: Alicloud images were created: cn-beijing: m-2ze12578be1oa4ovs6r9
下一步
使用自定义镜像创建实例
以上是使用开源工具 Packer便捷创建自定义镜像的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。