Devops⑥
第 6 节 · Ansible 与 Packer —— 配置管理与镜像构建实战
🧠 什么是配置管理(Configuration Management)?
配置管理是指通过代码或脚本来管理服务器的状态,比如软件安装、服务启动、配置文件变更等。
目标是:
- 自动化系统配置
- 多台机器保持一致状态
- 替代 SSH 手动操作
🧰 Ansible 是什么?
Ansible 是一款开源自动化运维工具,专注于“配置管理 + 应用部署 + 自动化运维”。
特点:
- ✅ 无 Agent:只需目标机开启 SSH 即可
- ✅ YAML 配置,易读易写
- ✅ 可批量控制多台主机
📄 Ansible 示例:安装 nginx
- name: 安装 nginx |
运行方式:
ansible-playbook install-nginx.yml -i hosts |
🧱 Ansible 的关键组成
元素 | 说明 |
---|---|
Inventory | 目标主机清单(IP、分组) |
Playbook | 自动化任务列表(YAML 文件) |
Roles | 可复用任务模块(适合大型项目) |
Modules | 内置功能单元(如 apt、copy、service) |
📦 Packer 是什么?
Packer 是 HashiCorp 出品的镜像构建工具。
可以用它提前“装好系统 + 环境 + 应用”,生成标准镜像(AMI / Docker image / ISO)
特点:
- 支持多平台(AWS、Docker、VMware)
- 可与 Ansible 配合构建镜像
- 实现“即开即用”的部署方式
🔧 示例:用 Packer + Ansible 构建 AWS AMI
{ |
命令运行:
packer build template.json |
🔄 Packer vs Terraform vs Ansible
工具 | 职责 |
---|---|
Terraform | 构建云资源(服务器、网络) |
Packer | 制作系统镜像(AMI、Docker) |
Ansible | 配置系统状态(安装软件、修改配置) |
🎯 DevOps 场景中的组合用法
下一节预告 👉 第 7 节:Monitoring & Observability —— 监控与可观测性实战指南
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Xiaotan's Blog!
评论