Ansible 服务教程
1. 什么是 Ansible? 🤖
Ansible 是一款开源的自动化管理工具,用于自动化配置管理、应用部署和任务执行。它使用简单的 YAML 配置文件进行管理,通过 SSH 无需安装代理,支持跨平台的管理。Ansible 主要通过 Playbook 来定义任务,使得自动化管理变得简单且高效。📊
特点 | 描述 |
---|---|
无代理架构 | 不需要在被管理的机器上安装代理,使用 SSH 进行管理。 |
简单易学 | 配置文件使用 YAML 格式,语法简洁明了。 |
高效且扩展性强 | 支持大规模的基础设施自动化管理。 |
丰富 的模块支持 | 提供众多模块,可用于管理系统、网络、应用等。 |
2. 安装 Ansible 📥
2.1 在 Ubuntu 或 Debian 上安装 Ansible
在 Ubuntu 或 Debian 系统上,使用以下命令安装 Ansible:
sudo apt update
sudo apt install ansible
2.2 在 CentOS 或 RHEL 上安装 Ansible
在 CentOS 或 RHEL 系统上,可以使用 EPEL 仓库安装 Ansible:
sudo yum install epel-release
sudo yum install ansible
2.3 使用 Pip 安装(适用于所有平台)
你也可以通过 Python 的包管理工具 pip 安装 Ansible:
sudo apt install python3-pip # 安装 pip(如果未安装)
pip3 install ansible
3. 配置 Ansible 🛠️
Ansible 的配置文件通常位于 /etc/ansible/ansible.cfg
。在该文件中,你可以配置默认的 SSH 用户、连接超时等设置。你也可以通过创建一个 inventory
文件来定义管理的主机。
3.1 配置 SSH 密钥(无密码登录)
Ansible 需要通过 SSH 无密码登录远程服务器。你可以使用 SSH 密钥对来设置无密码登录:
- 生成 SSH 密钥对:
ssh-keygen -t rsa -b 2048
- 将公钥复制到远程服务器:
ssh-copy-id user@remote_host
3.2 配置 inventory
文件
Ansible 使用 inventory
文件来管理被控制的主机。默认的 inventory
文件路径为 /etc/ansible/hosts
。你可以编辑该文件,添加你的主机信息:
sudo nano /etc/ansible/hosts
例如,添加一组主机:
[web_servers]
web1.example.com
web2.example.com
[db_servers]
db1.example.com
db2.example.com
4. 使用 Ansible 执行任务 ⚡
Ansible 使用命令行工具和 Playbook 来执行任务。下面是一些常用的操作: