Ansible 教程
1. 安装 Ansible1
-
通过包管理器安装 2:
-
对于 Ubuntu/Debian 系统3:
sudo apt-get install ansible
- 对于 CentOS/RHEL 系统:
sudo yum install ansible -y
- 通过 pip 安装 4:
pip install ansible
2. 配置 Ansible3
- 查看版本和配置文件 5:
ansible --version
-
修改配置文件 (例如
ansible.cfg
)5:
cd /etc/ansible
nano ansible.cfg
3. 添加被控主机清单
-
创建主机清单文件 (例如
hosts
)5:
nano hosts
- 添加主机 5:
[webservers]
192.168.1.100
192.168.1.101
192.168.1.102
4. 连接到被控主机3
- 安装 sshpass (如果需要)4:
sudo apt-get install sshpass
- 复制被控主机的 SSH 密钥 :
ssh-keyscan 192.168.1.100 >> ~/.ssh/known_hosts
5. 运行 Ansible 命令1
- 测试连接 4:
ansible all -m ping
- 执行任务 (例如安装 Apache)4:
ansible-playbook -i hosts apache.yml
6. 编写 Ansible Playbook1
- 基本结构 4:
---
- hosts: webservers
tasks:
- name: Install Apache
yum:
name: httpd
state: present
- name: Start Apache
systemd:
name: httpd
state: started
enabled: yes
-
保存为 YAML 文件 (例如
apache.yml
)4。
7. Ansible 常用模块1
- 示例 4:
- name: Copy file
copy:
src: /path/to/local/file
dest: /path/to/remote/file
8. 动手实践1
-
编写 Ansible 剧本 ,学习不同模块间的差别。
-
编写 Ansible Adhoc 命令 ,快速执行特定任务7。
9. Ansible 免密登录1
- 配置免密登录 8:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ssh-copy-id user@remote_host
10. Ansible 的作用和工作结构2
-
无代理架构 :使用 SSH 连接远程主机。
-
执行 YAML 格式的任务剧本 (Playbook)完成自动化操作4。
11. Ansible 主要组成部分
-
控制节点 :执行 Ansible 命令的机器2。
-
被控节点 :执行 Ansible 命令的目标机器4。
-
主机清单 :定义被控节点的列表。
-
Playbook :定义一系列任务的 YAML 文件4。
12. 额外提示3
-
确保所有主机时间同步,可以使用
chrony
服务。 -
确保 Ansible 版本与您的 Python 版本兼容5。
以上是 Ansible 的基本安装和使用教程2。您可以根据需要进一步探索 Ansible 的详细文档和高级功能7