1.按照要求定义以下变量。
| 变量名 | 值 |
| --------- | ------- |
| file_name | newfile |
| user_name | devops |
| pk_name | httpd |
2.编写任务模块在node1和node2主机中根据以上变量值创建对应文本文件以及用户名和安装软件包。
定义变量
[root@server ansible]# vim var.yml
file_name: newfile
user_name: devops
pk_name: httpd
配置yml文件
[root@server ansible]# vim var_test.yml
---
- name: play1
hosts: all
vars_files:
- var.yml
tasks:
- name: createfile
file:
dest: ./ "{{ file_name }}"
state: touch
- name: createuser
user:
name: "{{ user_name }}"
state: present
- name: createhttpd
dnf:
name: "{{ pk_name }}"
state: present
实现
[root@server playbook]# ansible-playbook var.yml
PLAY [day04] ***********************************************************************************
TASK [Gathering Facts] *************************************************************************
ok: [node1]
ok: [node2]
TASK [创建文件] ********************************************************************************
changed: [node1]
changed: [node2]
TASK [创建用户] ********************************************************************************
changed: [node1]
changed: [node2]
TASK [安装HTTPD] *******************************************************************************
ok: [node1]
ok: [node2]
PLAY RECAP *************************************************************************************
node1 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
node2 : ok=4 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
查看
[root@node1 ~]# ll
total 8
-rw-------. 1 root root 1382 Oct 14 19:40 anaconda-ks.cfg
-rw-r--r--. 1 root root 1537 Oct 14 19:41 initial-setup-ks.cfg
-rw-r--r--. 1 root root 0 Jan 5 14:52 ' "newfile"'
[root@node1 ~]# su devops
[devops@node1 ~]$
[root@node1 ~]# httpd
httpd (pid 73025) already running