Ansible剧本示例
首先需要配置主控端机器与其他机器的SSH免密连接,并且在主控端下载Ansible
接下来只需要在主控端配置被管控主机的IP信息,就可以实现批量系统配置、批量程序部署、批量运行命令等功能。
vim /etc/ansible/hosts
1. playbook的核心元素
hosts : playbook配置文件作用的主机
tasks: 任务列表
variables: 变量
templates:包含模板语法的文本文件
handlers:由特定条件触发的任务
roles:用于层次性、结构化地组织playbook。roles 能够根据层次型结构自动装载变量文件、tasks以及handlers等
2. playbook运行方式
ansible-playbook --check: 只检测可能会发生的改变,但不会真的执行操作
ansible-playbook --list-hosts: 列出运行任务的主机
ansible-playbook --syntax-check playbook.yaml: 语法检测
ansible-playbook -t TAGS_NAME playbook.yaml: 只执行TAGS_NAME任务
ansible-playbook playbook.yaml: 运行
3. Ansible剧本示例
- hosts: ceph8020
remote_user: supper-user
become: yes
vars:
username: envision-digital
password: 666
tasks:
- name: add user
user: name={{ username }} state=present
- name: set password
shell: echo {{ password }} |passwd --stdin {{ username }}
- name: add two users
user: name={{ item }} state=present groups={{ item.groups }}
with_items:
- { name: 'user1', groups: 'group1'}
- { name: 'user2', groups: 'group2'}