Ansible自动化运维:批量配置管理实战模板

一、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. 角色复用:模块化管理