在/etc/ansible/hosts中的末尾写入以下三行:
[webservers] 第一台主机的IP地址?ansible_ssh_user=root 第二台主机的IP地址? ?ansible_ssh_user=root
第一、条件安装:
编辑一个文件:?when.yaml,内容如下: - hosts: webservers ? remote_user: root ? tasks: ? - name: install httpd ? ? yum: name=httpd state=installed ? ? when: ansible_os_family == "RedHat" ? - name: install apache2 ? ? apt: name=apache2 state=installed ? ? when: ansible_os_family == "Debian"
执行ansible-playbook when.xml,执行结果如下: ?
如果测试条件成立,则执行相应的安装工作;如果测试条件不成,则跳过对应的任务。
第二、循环
在受控主机上添加三个组group1, group2, group3,添加三个用户user1,user2,user3,其分别属于组group1, group2, group3
编辑一个文件:adduser.yaml
执行:ansible-playbook adduser.yaml
执行:ansible-playbook adduser.yaml - hosts: webservers ? remote_user: root # 添加组 ? tasks: ? - name: add some groups ? ? group: name={{ item }} state=present ? ? with_items: ? ? - group1 ? ? - group2 ? ? - group3 # 添加用户 ? - name: add some users ? ? user: name={{ item.name }} group={{ item.group }} state=present ? ? with_items: ? ? - { name: 'user1', group: 'group1'} ? ? - { name: 'user2', group: 'group2'} ? ? - { name: 'user3', group: 'group3'}
执行结果:
在两台受控主机上查看/etc/passwd和/etc/group文件,可以发现都创建了用户user1,user2,user3以及组group1, group2, group3。
?
|