使用代码管理基础架构(一)镜像利器
admin
2023-04-09 10:04:02
0


首先我们基础架构的组成主要是计算,存储和网络,在我们以往的模式中主要使用的是虚拟化技术,无论哪种虚拟化技术在实际生产环境中主要都是通过模板来提高交付效率,模板主要由操作系统和应用组成。

什么是packer

Packer是一个开源工具,从单一源配置为多个平台创建相同的机器映像。 Packer是轻量级的,可在每个主要操作系统上运行,并且可以并行创建多个平台的机器映像。 Packer不会取代像Chef或Puppet这样的配置管理。 事实上,在创建镜像时,Packer可以使用Chef或Puppet等工具在镜像上安装软件。

镜像是单个静态单元,包含预先配置的操作系统和已安装的软件,用于快速创建新的运行机器。 可以针对不同的平台创建不同格式的镜像。包括EC2的AMI,VMware的VMDK / VMX文件,VirtualBox的OVF导出等。

Packer的适用场景

l 持续交付

Packer是一个轻量级的命令行工具,使其成为pipeline环节中的一个完美工具,当我们使用chef或puppet在不用的平台进行软件的安装部署时,Packer可以为我们生成一个全新的镜像。在pipeline环节中如果最新的镜像经过测试和验证可以满足业务系统的需求,为后续业务系统的上线提供了一个稳定和可靠的基础架构环境。

l 开发和生产环境平级

Packer 让开发,测试和生产环境尽量保持一致,可以在同一时间在不同的平台部署相同的镜像,如果你使用AWS和VMware平台,Packer可以让你在同一时间在两个平台部署相同的镜像模板,结合上面的案例可以让你的基础架构更灵活,实现从开发到生产的基础架构保持一致。

l Demo演示

Packer非常适合Demo应用的交付,随着应用的不断升级,用户通过自动化的安装部署软件十分轻松的在同一时间将应用Demo部署到不同的平台。

如果没有Packer我们如何做:

使用代码管理基础架构(一)镜像利器


Packer如何做:

软件安装

https://www.packer.io/downloads.html

制作镜像

Packer支持的平台

Alicloud ECS

Amazon EC2

Azure

CloudStack

DigitalOcean

Docker

File

Google Cloud

Hetzner Cloud

Hyper-V

LXC

LXD

NAVER Cloud

Null

1&1

OpenStack

Oracle

Parallels

ProfitBricks

QEMU

Scaleway

Triton

VirtualBox

VMware

Custom

使用案例

下面通过在阿里云上创建一个包含Redis数据库的镜像的简单实例来学习如何使用Packer。

创建quick-start.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_test2",

"source_image":"centos_7_04_64_20G_alibase_201701015.vhd",

"ssh_username":"root",

"instance_type":"ecs.n1.tiny",

"io_optimized":"true",

"image_force_delete":"true"

}],

"provisioners": [{

"type": "shell",

"inline": [

"sleep 30",

"yum install redis.x86_64 -y"

]

}]

}

创建镜像

    packer build quick-start.json

Packer支持的Provisioners

Ansible Local

Ansible Remote

Breakpoint

Chef Client

Chef Solo

Converge

File

PowerShell

Puppet Masterless

Puppet Server

Salt Masterless

Shell

Shell (Local)

Windows Shell

Windows Restart

Custom

Packer的价值

也许你会说我在不同的平台安装好云主机再部署好应用不就行了,何必要如此麻烦?如果你需要在多个平台更新镜像如何操作呢,是否需要一步一步的登录不同平台,生成云主机,更新应用,再生成镜像,最后通过镜像部署新的云主机呢?Packer要做的事情就是将不同平台的镜像转换为代码化管理,这样使镜像的修改和调整变的更为灵活。

相关内容

热门资讯

国家发展改革委核定南水北调中线... 【大河财立方消息】5月11日消息,国家发展改革委发布关于核定南水北调中线干线工程供水价格的通知,自2...
广州印发2026年AI工作要点... 【大河财立方消息】 5月11日,广州市人工智能产业发展办公室印发广州市人工智能产业2026年工作要点...
“导弹很忙”,没上红场 2026年5月9日,红场胜利日阅兵如期举行,却以近20年来最“轻装”的姿态落幕。这是自1995年恢复...
河南省人民检察院原巡视员刘新年... 经中共河南省委批准,河南省纪委监委对河南省人民检察院原巡视员刘新年严重违纪违法问题进行了立案审查调查...
第一观察|引领中美关系这艘大船... 应国家主席习近平邀请,美国总统特朗普将于5月13日至15日对中国进行国事访问。这是中美两国元首继去年...
特朗普:与伊停火协议已“岌岌可... 美国总统特朗普11日表示,美伊停火协议虽仍有效,但已处于“生命维持”状态,极其脆弱。他称美方方案核心...
美国总统特朗普将访华 关键时刻... 美国总统特朗普将于5月13日至15日对中国进行国事访问。这是中美两国元首继去年10月釜山之后再次面对...
比亚迪郑州基地等河南两地入选首... 【大河财立方 记者 程帅星】 5月10日是第十个“中国品牌日”,其间,首批30个“跟着品牌去旅行”体...
央行发布第一季度中国货币政策执... 【大河财立方消息】 5月11日,央行发布2026年第一季度中国货币政策执行报告。今年以来,在以习近平...
涉案5.6亿元!A股“床垫第一... 【大河财立方消息】5月11日,A股“床垫第一股”喜临门健康睡眠科技股份公司(证券简称:ST喜临门)公...