用途:该技能提供 HashiCorp Packer 的专业协助,Packer 通过单一声明式 HCL 配置,在多个云厂商与虚拟化平台上自动生成一致的机器镜像。适用于自动化黄金镜像创建、不可变基础设施流水线、多云镜像同步,以及合规与安全加固(如在构建中运行 CIS 基准 Ansible playbook)。
主要能力:支持现代 HCL2 模板(.pkr.hcl),涵盖 source 块(如 amazon-ebs)、build 块、变量、插件声明(required_plugins)以及 shell、ansible 等 provisioner。示例包括构建加密加固的 Ubuntu AMI,设置 encrypt_boot = true、source_ami_filter 与标签。
使用方式:常用命令为 packer fmt、packer validate、packer build,可用 -var 覆盖变量;构建前需先执行 packer init 初始化插件。
最佳实践:优先使用 HCL2 而非旧版 JSON 模板;启用 EBS 加密;使用官方 owner ID 与 most_recent 选择基础镜像;构建结束前清理 shell 历史与 SSH 主机密钥;不要在镜像中固化敏感密钥,应在运行时注入。
限制与排错:常见问题包括 SSH 超时(安全组或密钥不匹配)、插件未初始化、IAM 权限不足导致 UnauthorizedOperation。具体收费、价格与平台支持范围暂未提供。