运维

运维相关知识和内容

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

一、Ansible基础

1.1 安装

# Ubuntu
sudo apt install ansible

# 验证
ansible --version

1.2 主机清单

[webservers]
web01 ansible_host=192.168.1.10 ansible_user=root
web02 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: 80

tasks:
  - name: Update Nginx config
    template:
      src: nginx.conf.j2
      dest: /etc/nginx/nginx.conf
    notify: Restart Nginx

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