第 1 章 Ansible介绍
- 什么是 Ansible
Ansible是用来自动化管理 Linux 机器的工具,不用一台台手动敲命令,写好脚本就能批量操作多台服务器,减少人工出错,把配置、操作写成代码(基础设施即代码),方便复用、版本管理。它属于 DevOps 自动化语言。
- Ansible核心架构
- 控制节点:装 Ansible 的机器,从这里下发任务。
- 受管主机:被管理的服务器,不需要安装 Ansible,靠 SSH 连接通信。
- Inventory 清单:记录所有要管理的主机列表。
- Playbook 剧本:用 YAML 写的任务脚本,一堆 task 任务,调用模块去干活;具备幂等性,多次执行结果一样,不会乱改系统;出错默认直接停止。
- 模块 module:Ansible 现成的功能工具,做安装软件、改配置这类操作。
- Ansible版本
分社区版 Ansible 和红帽商业版 Ansible 自动化平台 (RHAAAP),商业版有官方支持,自带大量现成集合(Collections)工具包,还有导航器、执行环境这些配套工具。
- Ansible能干啥
批量做配置管理、部署软件、持续交付、系统部署、安全合规、编排调度等工作。写剧本遵循简单、清晰、声明式(写想要的最终状态,不用写一步步怎么实现)。
- 环境准备要点
控制节点装 Ansible;受管主机开启 SSH;可以用容器作为执行环境;把受管主机写到 inventory 清单里,控制节点能免密 ssh 访问各个被管机器。
简单说:Ansible 就是一台主控机器,通过 ssh,跑写好的 yaml 剧本,批量指挥一堆服务器干活,不用手动登录每台机器。