iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >DevOps专题|Packer使用教程
  • 940
分享到

DevOps专题|Packer使用教程

2023-06-04 13:06:22 940人浏览 薄情痞子
摘要

什么是Packer简单介绍一下自己Packer 是一个轻量命令行工具, 能在几乎所有主流的操作系统上运行。在给定一份配置文件的情况下, Packer 能为多种系统架构创建云主机镜像。同时 Packer 自身也能够做到多镜像并发创建, 大大节

DevOps专题|Packer使用教程

什么是Packer

简单介绍一下自己

Packer 是一个轻量命令行工具, 能在几乎所有主流的操作系统上运行。

在给定一份配置文件的情况下, Packer 能为多种系统架构创建云主机镜像。同时 Packer 自身也能够做到多镜像并发创建, 大大节省了镜像创建过程中的时间成本。

为什么要用 Packer

为什么呢?

当然是因为使用预制的镜像有非常多的好处, 最简单来说,就是能最大程度地保证不同机器上服务的一致性(以经验来看这一点非常重要)。但是在实际使用中, 镜像因其创建/管理的工作单调且复杂, 很多情况下镜像还没有被完全普及。

现有的镜像自动化创建工具, 要么是不好用或不方便, 要么就是学习曲线太高。这些特点导致运维团队投入过多的精力在镜像的使用中, 进而导致工作效率以及敏捷性被阻碍。这就是为什么虽然镜像的工作方式具有非常多的优势,但是却依旧没有被大规模的普及。

Packer 依据单个的配置文件, 能做到流水线式 + 并发的创建镜像,与传统手工操作相比,其 "Infrastructure as Code" 的工作方式也大大减少了失误的概率。

至少在 Packer 官方认为:

Packer brings pre-baked images into the modern age,
unlocking untapped potential and opening new opportunities.

Infrastructure as Code 的工作方式

在这个理念被提出之前, 手工+脚本的方式非常普遍, 手工容易出错, 而脚本本身也要投入很多人力来进行维护。与此同时,一些主流的云服务厂商也在积极寻找更多的可能性。2019年4月, 在我们发布了 terrafORM-provider-jdcloud插件以后, 目前一些团队在使用 Terraform 的京东云插件, 有的会在 GitHub 上留下 issues, 有的是通过留言,表示希望能增加更多功能。用户的这些表现都从侧面验证了 "Infrastructure as Code" 工作方式的可靠性和敏捷性。

到了 Packer, 这些特性依旧被保留下来。相较于传统方式,IaC 被认为是: "Modern and Automated" , 同样是一份简单的 JSON 配置文件,IaC 鼓励开发者开始使用镜像, 同时使用 Packer 自动化、流水线化地管理镜像, 从而减少镜像本身管理带来的负担。

介绍一些日常的使用场景

  • 持续交付 - Packer&Chef&Puppet:Packer 因其自身体积轻量的特点, 使其被直接放到流水线里并成为流水线的一环也变成了一种可能的选择: 在 Chef/Puppet 的配置产生变动的时候触发流水线, 下一环 Packer 负责为新配置生成镜像, 这些镜像可以立刻投入测试, 测试通过后即可部署到生产环境。
  • 混合云的使用:Packer 的一份配置可以为多个云服务商生成镜像, 假设你使用 VMWare 作为开发环境, AWS 作为生产环境, 那么 Packer 能够并发生成两份镜像用于两家云服务商, 从而最大程度地减少两个镜像之间的区别。

详细一些, Packer 还包含有这些优势

  • 对于临时产物的处理上:Packer 能为你创建一些临时资源,比如在没有指定子网的情况下,Packer 能够帮你创建一个临时子网,用于安放云主机。并且在出现错误的时候终止任务,同时自动清理中间产物。而传统方式则需要自己先创建一个临时子网,并且出现错误时还需要手动清理。
  • 在问题的追溯与定位上:在 Packer 上所有变化都是基于代码的,而代码是可以追溯的,方便快速定位问题并回滚。而在传统方式中,考虑到手动操作的过程可能涉及多人,完整地追出问题并不是一件容易的事儿。

  • 在便捷性与效率上:由于 Packer 上的操作基于代码,变更的时候操作会非常快;而手动操作的效率则取决于个人的手速了。

  • 在操作的可重复性上:Packer 依据配置文件,随时快速重新操作;而在全手动的情况下, 想要完整的复现一次所有操作并不容易。Packer 上代码的可重复利用也说明你可以用最快的速度再创建一个一模一样的(测试)环境。

立刻开始使用 Packer

安装 Packer

安装 Packer 我们推荐去 Packer官网 下载一个二进制包,解压后直接就可以使用。另外对于 Mac OS X 用户, 也可以使用 HomeBrew 直接进行安装。

$ brew install packer

--结束END--

本文标题: DevOps专题|Packer使用教程

本文链接: https://www.lsjlt.com/news/237944.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • DevOps专题|Packer使用教程
    什么是Packer简单介绍一下自己Packer 是一个轻量命令行工具, 能在几乎所有主流的操作系统上运行。在给定一份配置文件的情况下, Packer 能为多种系统架构创建云主机镜像。同时 Packer 自身也能够做到多镜像并发创建, 大大节...
    99+
    2023-06-04
  • 教你平板电脑专用win8系统原版安装教程
    对于商务人士来说,平板电脑比台式机和笔记本电脑更加轻便、便于携带。而win8系统又是比较适合移动端的操作系统,因此不少使用平板电脑的网友想要给电脑安装win8系统,但是不知道平板电脑如何安装win8系统。下面小编就教下大家平板电脑专用win...
    99+
    2023-07-19
  • 【MySQL】数据库函数通关教程下篇(窗口函数专题)
    💁 个人主页:黄小黄的博客主页 ❤️ 支持我:👍 点赞 🌷 收藏 🤘关注 🎏 格言:一步一个脚印才能承接所谓的幸运 ...
    99+
    2023-09-02
    mysql 数据库 database 后端 数据库开发
  • iReport使用教程(示例教程)
    在使用ireport的过程中,因为各种功能都要百度,但是大家使用的例子又千差万别让人很苦恼,所以用一个简单例子贯穿的展示一下ireport的常见功能。 iReport简介 说到iRe...
    99+
    2024-04-02
  • JProfiler11使用教程之JVM调优问题小结
    目录安装JProfilerJProfiler11破解配置本地监控配置远程监控jProfiler客户端介绍仪表盘查看对象增长情况检测各种调用情况CallTree(调用树)检测线程各种情...
    99+
    2024-04-02
  • VuedefineProperty使用教程
    目录1.认识defineProperty2.defineProperty2.1使用defineProperty2.2为defineProperty定义的属性添加额外配置2.3defi...
    99+
    2023-01-09
    Vue defineProperty Vue defineProperty使用
  • RabbitMQ使用教程
    1、RabbitMq简介 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此...
    99+
    2023-08-18
    java-rabbitmq rabbitmq java
  • Maven使用教程
    1.什么是Maven? 当我们在创建一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量极多,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。 以往...
    99+
    2023-10-25
    java spring maven
  • XShell使用教程
    连接到服务器 1 双击打开Xshell,默认会打开一个会话界面; 2 连接新的服务器时,点击会话左上角的“新建”按钮; 3 点击后会弹出新建会话窗口,在右侧连接模块输入我们要连接的服务器的名称(连接名称,只作为本地查看),协议默认SSH,...
    99+
    2023-08-31
    windows 服务器
  • HeidiSQL使用教程
    HeidiSQL是一款Mysql数据库管理工具,可以直接浏览数据库并且管理表 1.打开HeidiSQL软件右键点击Unnamed ---> 网络类型选择MySQL(TCP/IP) ---> 输入密码 --->保存(可选可不选,如果点击保存则...
    99+
    2023-08-31
    mysql 数据库
  • loadrunner使用教程
    LoadRunner是一种性能测试工具,被广泛用于测试Web、移动和企业应用程序的性能和负载。以下是一个简单的LoadRunner使...
    99+
    2023-09-14
    loadrunner
  • ChannelSftp 使用教程
    ChannelSftp 是 JSch 库中的一个类,它提供了一个连接和操作 SFTP 服务器的通道。以下是使用 ChannelSftp 的一些常见操作:  #### 1. 连接 SFTP 服务器  以下是连接 SFTP 服务器的示例代码...
    99+
    2023-09-01
    服务器 linux ChannelSftp Sftp java
  • WindTerm使用教程
    介绍 WindTerm 是一款开源免费、跨平台SSH/Sftp/Shell/Telnet/Serial 客户端,即远程连接工具,还跨平台,支持 Windows、Linux 和 macOS。 直接到 r...
    99+
    2023-09-01
    ssh 服务器 linux
  • Nginx使用教程
    目录 一、Nginx介绍二、下载和安装三、Nginx命令1.查看版本2.检查配置文件正确性3.启动和停止4.重新加载配置文件 四、配置文件结构五、Nginx具体应用1.部署静态资源2.反向...
    99+
    2023-09-04
    nginx 运维 服务器
  • installshield使用教程
    InstallShield是一种安装程序制作工具,可用于创建Windows平台上的安装包。下面是InstallShield的使用教程...
    99+
    2023-09-15
    installshield
  • pycharm使用教程
    使用教程:1、创建项目:打开PyCharm,点击“Create New Project”,选择项目路径,点击“Create”开始创建;2、创建文件:在项目界面,点击“file”,再点“new”创建子目录或者文件,选择要创建的文件类型;3、运...
    99+
    2023-12-09
    pycharm
  • mac charles 安装教程、使用教程
    安装教程 1、mac版本的charles安装包下载 mac最新版本charles安装包dmg-其它文档类资源-CSDN下载 2、安装charles证书并进信任  mac上下载并安装证书 Help->SSL Proxying-> Instal...
    99+
    2023-09-25
    macos 测试工具 小程序
  • 【svn使用教程】
    目录 简介和安装svn基本操作撤销和修复添加忽略解决冲突分支代码暂存复杂代码合并 简介和安装 一、svn是一个代码版本管理工具,他能记住你每次修改,可以查看每次的修改记录,恢复到任何历史版...
    99+
    2023-09-11
    svn 服务器 运维
  • ReactuseCallback使用教程
    目录useEffectuseCallback开始之前请注意这句话:任何优化都会增加复杂性,任何过早添加的优化都会带来风险,因为优化后的代码可能会多次更改 useEffect 相关作用...
    99+
    2023-01-05
    React useCallback React useCallback用法
  • vncviewer使用教程
    首先安装vncviewer 之后在服务器输入你想要开启的·端口号 conda deactivatevncserver :88 VNC Server这里写 你的服务器地址:5900+端口号 如果出现以下问题,可能是配置文件的问题  进入...
    99+
    2023-09-03
    服务器 运维
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作