选型

Ansible

你可能会说

几十台机器装软件、改配置,一台台 SSH 上去?

无 agent 的配置管理工具通过 SSH 推送 playbook,幂等地装包、改配置、滚动发布;适合传统服务器,云原生环境多被镜像取代。
也常被叫作配置管理Playbook
先问一句几十台虚拟机批量配置?
默认Ansible→擅长无 agent 幂等→别用纯容器化环境
成熟度采用

什么时候选它

  • 物理机 / 虚拟机批量配置
  • 不能装 agent 的环境
  • 网络设备、混合云初始化

什么时候别选

  • 纯容器化环境(镜像 + Helm 更合适)
  • 需要持续状态收敛的复杂编排
  • 云上资源本身的管理(用 Terraform)
容易混在一起 · 怎么分
Ansible≠Shell 脚本

Ansible 幂等、有模块和清单管理,可重复执行;脚本顺序执行,出错后状态不可知。

Q面试会问什么

  • 问:幂等怎么保证?
    答:模块先检查当前状态,只在需要时变更;同样的 playbook 跑多次结果一致。
  • 问:和 Terraform 的分工?
    答:Terraform 创建机器和网络,Ansible 配置机器里面的软件和服务。
延伸阅读 · 权威出处