一、Ansible基础
1.1 安装
# Ubuntusudo apt install ansible# 验证ansible --version
1.2 主机清单
[webservers]web01 ansible_host=192.168.1.10 ansible_user=rootweb02 ansible_host=192.168.1.11 ansible_user=root
二、Playbook基础
2.1 第一个Playbook
---- hosts: webservers become: yes tasks: - name: Install Nginx apt: name: nginx state: present update_cache: yes - name: Start Nginx service: name: nginx state: started enabled: yes
2.2 变量使用
vars: nginx_port: 80tasks: - name: Update Nginx config template: src: nginx.conf.j2 dest: /etc/nginx/nginx.conf notify: Restart Nginxhandlers: - name: Restart Nginx service: name: nginx state: restarted
三、角色开发
3.1 角色目录结构
roles/└── nginx/ ├── defaults/ │ └── main.yml ├── handlers/ │ └── main.yml ├── tasks/ │ └── main.yml └── templates/ └── nginx.conf.j2
3.2 角色任务
# roles/nginx/tasks/main.yml---- name: Install Nginx apt: name: nginx state: present- name: Copy Nginx config template: src: nginx.conf.j2 dest: /etc/nginx/nginx.conf notify: Restart Nginx
四、总结
Ansible是运维自动化的利器:
1. 简单易学:YAML语法
2. 无代理:SSH连接
3. 幂等性:安全可重复
4. 角色复用:模块化管理