如何使用开源工具 Packer 便捷创建自定义镜像


本文摘自PHP中文网,作者坏嘻嘻,侵删。

本篇文章给大家带来的内容是关于如何使用开源工具 Packer 便捷创建自定义镜像,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

使用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文件并粘贴以下内容。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

{

     "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"

       ]

     }]

   }

说明

您需要自定义以下参数值。

微信截图_20180918154456.png

3. 使用Packer创建自定义镜像

指定Packer模板文件生成自定义镜像:

导入您的AccessKeyID:运行export ALICLOUD_ACCESS_KEY=您的 AccessKeyID 。

导入您的AccessKeySecret:运行export ALICLOUD_SECRET_KEY=您的 AccessKeySecret 。

执行命令packer build alicloud.json创建自定义镜像。

示例运行结果如下,以下示例将创建含Redis的自定义镜像:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

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 便捷创建自定义镜像的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

Linux软件如何安装

Linux如何查看cpu信息

Linux与windows编码不一致如何解决

Linux怎么删除文件夹

Linux怎么翻页

Linux查看软件是否安装

Linux中如何查看指定端口是否开放

freeworld.posterous.com Linux bash shell cheat sheet----autho:raphael

red hat Linux相关产品iso镜像下载

详解xshell是如何连接Linux(图文)

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...