ansible 教程

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

Top