溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用開源工具 Packer便捷創(chuàng)建自定義鏡像的方法

發(fā)布時間:2020-08-27 10:57:03 來源:億速云 閱讀:352 作者:小新 欄目:建站服務(wù)器

這篇文章主要介紹使用開源工具 Packer便捷創(chuàng)建自定義鏡像的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

使用Packer創(chuàng)建自定義鏡像

開源工具 Packer 能夠便捷創(chuàng)建自定義鏡像。它能運行在大多數(shù)主流操作系統(tǒng)上。參閱本文安裝并使用Packer,輕松創(chuàng)建自定義鏡像。

說明

本文描述僅適用于運行Linux操作系統(tǒng)的服務(wù)器。

1. 安裝Packer

您可以進(jìn)入 Packer 官網(wǎng)下載頁面,選擇下載與您操作系統(tǒng)對應(yīng)的版本,參閱以下步驟或者訪問Packer 官方安裝說明 安裝 Packer。

連接并登錄到Linux服務(wù)器。如果您的服務(wù)器為ECS Linux實例,可參閱文檔 使用用戶名密碼驗證連接 Linux 實例。

執(zhí)行命令cd /usr/local/bin進(jìn)入/usr/local/bin目錄。

說明

/usr/local/bin 目錄為環(huán)境變量目錄,您可以將 Packer 安裝到該目錄下或其他已添加到環(huán)境變量的目錄下。

執(zhí)行命令wget https://releases.hashicorp.com/packer/1.1.1/packer_1.1.1_linux_amd64.zip獲取Packer安裝包。您可以訪問 Packer 下載頁面獲取其他版本Packer安裝包。

執(zhí)行命令unzip packer_1.1.1_linux_amd64.zip解壓文件。

執(zhí)行命令packer -v驗證Packer安裝狀態(tài)。若Linux服務(wù)器返回Packer版本號,表示您已正確安裝Packer。若Linux服務(wù)器提示command not found表示Packer未正確安裝。

2. 定義Packer模板

說明

使用Packer創(chuàng)建自定義鏡像時,需要創(chuàng)建一個JSON格式的模板文件。在該模板文件中,您需要指定創(chuàng)建自定義鏡像的 Alicloud Image Builder(生成器)和 Provisioners(配置器)。Packer具有多種配置器,可用于配置自定義鏡像的內(nèi)容生成方式,以下以常用的 Shell 配置器為例,定義Packer模板。

在Linux服務(wù)器中創(chuàng)建名為alicloud的json文件并粘貼以下內(nèi)容。

{
     "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"
       ]
     }]
   }

說明

您需要自定義以下參數(shù)值。

使用開源工具 Packer便捷創(chuàng)建自定義鏡像的方法

3. 使用Packer創(chuàng)建自定義鏡像

指定Packer模板文件生成自定義鏡像:

導(dǎo)入您的AccessKeyID:運行export ALICLOUD_ACCESS_KEY=您的 AccessKeyID 。

導(dǎo)入您的AccessKeySecret:運行export ALICLOUD_SECRET_KEY=您的 AccessKeySecret 。

執(zhí)行命令packer build alicloud.json創(chuàng)建自定義鏡像。

示例運行結(jié)果如下,以下示例將創(chuàng)建含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

下一步

使用自定義鏡像創(chuàng)建實例

以上是使用開源工具 Packer便捷創(chuàng)建自定義鏡像的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI