下面从概念 → 架构 → 实战步骤 → 常用场景给你一个清晰、可落地的 Ansible 批量管理服务器指南。
Ansible 是 无 agent(无客户端) 的自动化运维工具:
✅ 适合:
控制节点(Ansible)
↓ SSH
+-------------------+
| Web1 Web2 Web3 |
| DB1 DB2 |
+-------------------+
yum install -y epel-release
yum install -y ansible
apt update
apt install -y ansible
验证:
ansible --version
/etc/ansible/hosts[web]
192.168.1.10
192.168.1.11
[db]
192.168.1.20
[all:vars]
ansible_user=root
ansible_ssh_private_key_file=~/.ssh/id_rsa
✅ 支持分组、变量、密码(不推荐)
ansible all -m ping
成功示例:
192.168.1.10 | SUCCESS => {"ping": "pong"}
ansible all -m shell -a "uptime"
ansible web -m yum -a "name=nginx state=present"
ansible web -m service -a "name=nginx state=restarted"
deploy_nginx.yml
- hosts: web
become: yes
tasks:
- name: Install nginx
yum:
name: nginx
state: present
- name: Start nginx
service:
name: nginx
state: started
enabled: true
执行:
ansible-playbook deploy_nginx.yml
- name: Create user
user:
name: deploy
groups: wheel
shell: /bin/bash
- copy:
src: ./nginx.conf
dest: /etc/nginx/nginx.conf
- script: ./init.sh
[web]
web1
web2
[db]
db1
- hosts: web
roles:
- nginx
- hosts: db
roles:
- mysql
✅ 使用 SSH 密钥 而非密码
✅ 按 环境 / 角色 分组
✅ Playbook 版本化(Git)
✅ 使用 ansible-vault 管理密码
✅ 小步测试 → 全量执行
如果你愿意,我可以:
你目前是想管 多少台服务器 / 什么系统?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。