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'}

版权声明:本文为weixin_45775963原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。