packer (是hashicorp 組織旗下的一款devops運維工具,可以看下整個軟體交付週期所處的位置:
packer是一款面向雲生態非常便利的顯像管理利器,通過乙個模板配置可以快速的建立映象。
當前支援阿里雲、aws、azure、vmware、google cloud platform、digitalocean 等多個雲廠商平台。通過packer,可以在建立映象過程中,執行相應的指令碼檔案,或者安裝目標軟體,執行配置系統等操作,可提公升系統應用交付效能。
只需要通過建立乙個packer的模板配置檔案(json格式),指定好映象所在的region,型別,例項規格,io型別,則可完成乙個系統映象的建立,下面看一下基於alicloud的乙個模板配置:
",
"secret_key": "$"
},"builders": [",
"secret_key":"$",
"region":"cn-beijing",
"image_name":"packer_test_image",
"source_image":"centos_7_03_64_20g_alibase_20170818.vhd",
"ssh_username":"root",
"instance_type":"ecs.n4.small",
"internet_charge_type":"paybytraffic",
"io_optimized":"true"}]}
其中映象型別對應的多平台說明文件可參考:
packer 可以支援provision實現在建立映象過程中,執行相應的指令碼檔案,或者安裝目標軟體,執行配置系統等,比如下可以預先安裝redis:
注意事項:上面配置的sleep 30非常關鍵,因為在建立映象的過程中,是構建了完整的vm例項,這中間需要通過ssh上去執行指令的過程中,可能系統尚未完成整改初始化過程,所以需要做乙個30秒的時間等待。packer 同時支援多平台建立乙個映象,如下在aws、digitalocean 建立映象,只不過這裡需要制定好各自平台的ak、api-token:
當我們建立好乙個映象的時候,比如這裡通過建立乙個基於阿里雲的映象模板:
",
"secret_key": "$"
},"builders": [",
"secret_key":"$",
"region":"cn-beijing",
"image_name":"packer_test_image",
"source_image":"centos_7_03_64_20g_alibase_20170818.vhd",
"ssh_username":"root",
"instance_type":"ecs.n4.small",
"internet_charge_type":"paybytraffic",
"io_optimized":"true"
}],"provisioners":
}
我們需要驗證寫的模板語法上是否有錯誤,則通過validate進行判斷:
$ packer validate alicloud.json
當如上vadidate驗證json語法等問題okay後,則通過packer build 直接構建映象:
$ packer build alicloud.json
如果為build的過程的stdout:
如上可以看到該過程完成了資源的建立和釋放的過程,執行後到阿里雲管控控制台檢視ecs自定義映象:
在阿里雲的docker顯像管理
在控制台 顯像管理中 命名空間中建立自己的namespace,在訪問憑證中設定自己的登陸密碼,使用者名稱預設為阿里雲賬號名 這樣在虛擬機器上使用類似 docker login username registry.cn hangzhou.aliyuncs.com 登陸之後使用docker push 推...
docker學習(1) 顯像管理的基本命令
語法 docker pull options name tag digest 選項名稱 預設描述 all tags,a disable content trusttrue跳過映象校驗 例項 docker pull ubuntu 14.04 docker push zhoulm ubuntu usr ...
EDEN MACE 微服務下的分銷管理利器
eden mace 詳細介紹 eden mace是什麼 eden mace微服務下的分銷管理利器,更加靈活的管理佣金,涵蓋並且總結了目前流行的分銷模式,讓分銷更加簡單。使用環境 spring boot 1.5 mysql5.6 產品亮點 1 許可權和分銷完全分離,符合開發的 低耦合的需求。2 產品完...