云生态下的镜像管理利器Packer

About Packer

Packer (https://www.packer.io/)是Hashicorp 组织旗下的一款DevOps运维工具,可以看下整个软件交付周期所处的位置:

Packer是一款面向云生态非常便利的镜像管理利器,通过一个模板配置可以快速的创建镜像。
当前支持阿里云、AWS、Azure、Vmware、Google Cloud Platform、DigitalOcean 等多个云厂商平台。通过Packer,可以在创建镜像过程中,执行相应的脚本文件,或者安装目标软件,执行配置系统等操作,可提升系统应用交付效能。

Install Packer

Packer可以安装在多个系统平台上

通过https://www.packer.io/downloads.html 可以下载相应的可执行二进制包,配置好相应的PATH则可使用Packer Command,如下:

Build an Image on alicould

只需要通过创建一个Packer的模板配置文件(json格式),指定好镜像所在的region,类型,实例规格,IO类型,则可完成一个系统镜像的创建,下面看一下基于Alicloud的一个模板配置:

{
  "variables": {
    "access_key": "${your_access_key}",
    "secret_key": "${your_secret_key}"
  },
  "builders": [{
    "type":"alicloud-ecs",
    "access_key":"${your_access_key}",
    "secret_key":"${your_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"
  }]
}

其中镜像类型对应的多平台说明文档可参考:
https://www.packer.io/docs/builders/index.html

Provision

Packer 可以支持Provision实现在创建镜像过程中,执行相应的脚本文件,或者安装目标软件,执行配置系统等,比如下可以预先安装redis:

注意事项:上面配置的sleep 30非常关键,因为在创建镜像的过程中,是构建了完整的VM实例,这中间需要通过SSH上去执行指令的过程中,可能系统尚未完成整改初始化过程,所以需要做一个30秒的时间等待。

Parallel Builds

Packer 同时支持多平台创建一个镜像,如下在AWS、DigitalOcean 创建镜像,只不过这里需要制定好各自平台的AK、API-Token:

Execute build image

当我们创建好一个镜像的时候,比如这里通过创建一个基于阿里云的镜像模板:

{
  "variables": {
    "access_key": "{your_access_key}",
    "secret_key": "${your_secret_key}"
  },
  "builders": [{
    "type":"alicloud-ecs",
    "access_key":"{your_access_key}",
    "secret_key":"${your_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": [{
    "type": "shell",
    "inline": [
      "sleep 30",
      "echo 'hello world' > /tmp/a.txt"
    ]
  }]
}

我们需要验证写的模板语法上是否有错误,则通过validate进行判断:

$ packer validate alicloud.json

当如上vadidate验证json语法等问题okay后,则通过packer build 直接构建镜像:

$ packer build alicloud.json

如果为build的过程的STDOUT:

如上可以看到该过程完成了资源的创建和释放的过程,执行后到阿里云管控控制台查看ECS自定义镜像:

时间: 2025-01-21 12:36:06

云生态下的镜像管理利器Packer的相关文章

全新阿里云大学发布——阿里巴巴全力打造云生态下的创新人才工场

云的时代已全面到来!现在,越来越多的大中型企业正将基础架构向云端加速迁移,小微企业和个人开发者更是将云作为基础设施的首选.随着云的能力不断提升,在DT时代,绝大多数的计算与数据服务都会在云端完成.面对这一发展趋势,除了需要在技术上不断将计算能力提升之外,云计算.大数据方面的专业人才缺失,也成为了整个生态面临的严峻挑战! 全球顶尖管理咨询公司麦肯锡(McKinsey)出具的一份详细分析报告显示: 预计到2018年,大数据或者数据工作者的岗位需求将激增,其中大数据科学家的缺口在14万到19万之间,对

云生态下IT服务业将实现颠覆性变革

本文讲的是云生态下IT服务业将实现颠覆性变革,12月20日,以"美丽中国·云上贵州"为主题的阿里云开发者大会西南峰会在贵州隆重举行,当前云计算.大数据等各领域各行业的众多最新实践成果集聚于此,从大数据.云计算资源.政策.市场上充分展示了"云上贵州"大平台的建设.作为阿里云生态圈中的云集成服务商,中软国际承担了"云上贵州"云迁移咨询.技术支持以及项目管理服务项目,并在贵州参展.中软国际董事局主席.CEO陈宇红博士出席大会,在分享云计算技术革新与开发

云生态下的基础架构资源管理利器Terraform

About Terraform Terraform (https://www.terraform.io/) 是HashiCorp旗下的一款开源(Go语言开发)的DevOps 基础架构资源管理运维工具,可以看下对应的DevOps工具链: Terraform可以安全高效的构建.更改和合并多个云厂商的各种服务资源,当前支持有阿里云.AWS.微软Azure.Vmware.Google Cloud Platform等多个云厂商云产品的资源创建. Write, Plan, and Create Infras

云时代基础设置自动化管理利器: Chef

云时代的到来势不可挡.尤其作为程序员,我们每天或多或少的直接或间接的使用者各种云服务.云平台有很多种,如云软件(SaaS, Software as a service).云平台(PaaS, Platform as a service).云设备(IaaS, Infrastructure as a service).云计算由于其价格低廉.按需提高.使用方便等特点,越来越受到人们的欢迎. Chef是什么? Chef的出现正是顺应了云潮流.如果你是一个公司的devops成员,每天配置服务器上的软件和服务

Supervise:Linux系统下的进程管理利器

Supervise是daemontools的一个工具,可以用来监控治理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序.本文简单介绍一下supervise的安装和使用. 一. 安装 创建 /pacakage目录(你可以创建任意目录,这里使用package只是为了保持与英文作者的一致): mkdir -p /package chmod 1755 /package cd /package 下载daemontools-0.76.tar.gz到/package目

云环境下基于属性的用户权限管理研究

云环境下基于属性的用户权限管理研究 李拴保 范乃英 傅建明 祁慧敏 刘芊 用户权限分配是云计算服务的重要难题之一,提出了一种基于属性的用户权限管理方案.该方案以云服务中的新用户密钥分配为研究对象,论述了多方协同的用户签名验证解密管理机制,数据所有者和授权者共同选择属性集,数据所有者基于属性集定义密文访问结构,从而用户只有通过授权者认证才能获得解密密钥,达到用户权限升级与降级同步管理的目的.另外,本方案以群属性集更新为中心设计CP-ABE群签名验证机制,令数据所有者.用户和授权者组成群;基于群和自

阿里云1218 云生态唱主角

本文讲的是阿里云1218 云生态唱主角[IT168评论]最近看到一则公益广告,讲述的是一位老人带领一帮年轻人,在沙漠中植树造林的故事.尽管栽种的苗木很快枯竭而死,也遭到很多人质疑,但是老人依旧坚持不懈,通过人挑肩扛运水浇灌,最终苗木开始慢慢生长,由一颗变成了一片,塑造了几万亩的绿洲.逐步改善了周边的生态环境.仔细想想,云计算生态的建设过程与这片绿洲的形成颇为相似,也需要产业链齐心借力,但起步是艰辛的. ▲阿里云1218 阿里云一骑绝尘并非一帆风顺 现如今,中国云计算市场蓬勃发展,阿里云已占有一席

这是我们共同的成绩单!云生态狂欢节完美落幕!

11月11日,天猫双11全球狂欢节再次创下了每秒17.5万笔交易创建,每秒12万笔的支付峰值记录.而在2009年第一次双11时,这一峰值数据仅为每秒400笔交易.8年来,阿里巴巴用自主研发的大规模通用计算操作系统--飞天,不仅成功支撑了暴增437倍的交易,还实现了用在线公共服务的方式为社会经济提供计算资源,帮助各行各业完成每年刷新纪录的"极限挑战".云计算,在看不见的地方作为重要的基础性互联网支撑平台,不仅支撑着双11,也是重要的跨领域.跨行业的公共服务平台. 今年阿里云启动的云生态狂

华为携手云生态伙伴发布四大解决方案:气象云、智慧医疗云、环保云和工业物联网云

华为在6月9日举办的"华为.宿州云产业合作高峰论坛"上,携手云生态伙伴发布四大联合解决方案:气象云.智慧医疗云.环保云和工业物联网云,希望与生态伙伴紧密合作,共同做大云计算大数据产业,助力城市实现跨越式发展. 随着气象服务从传统防灾减灾,不断向交通.旅游.农业等领域深入发展,气象越来越成为一项惠及经济民生的重大基础服务."互联网+"的深入应用下,气象数据采集向多源化.智能化.社会化方向发展,基于气象大数据的应用创新已成为气象领域的重大研究课题.华为与安徽省气象局.宿