ansible roles
目录结构
roles/app1/
├── files
│ └── app.hostname
├── handlers
│ └── main.yaml
├── tasks
│ ├── copyfile.yaml
│ ├── group.yaml
│ ├── installhttp.yaml
│ ├── main.yaml
│ ├── start.yaml
│ ├── temp1.yaml
│ └── user.yaml
├── templates
│ └── app.temp.j2
└── vars
└── main.yaml
文件内容
tasks
tasks目录下 应该有一个main.yaml文件包含所有的其他yaml文件。文件中的顺序即为运行顺序。
- main.yaml
- include: group.yaml
- include: user.yaml
- include: installhttp.yaml
- include: temp1.yaml
- include: copyfile.yaml
- include: start.yaml
- user
root@linx:~/ansible/roles/app1/tasks# cat user.yaml
- name: create user
user: name=app group=app system=yes shell=/sbin/nologin uid=130
- group
- name: create group
group: name=app system=yes
- installhttp.yaml
root@linx:~/ansible/roles/app1/tasks# cat installhttp.yaml
- name: install package
yum: name=httpd
vars
vars目录下的变量文件名字应包含在main.yaml,此处直接使用main.yaml定义变量,如果多个文件应该按照tasks中main.yaml格式。
username: app
groupname: app
file
files目录中是要拷贝的文件 使用的模块为copy
templates
templates目录中放的是模板文件,模板文件中可以直接使用变量,循环等。
运行
root@linx:~/ansible# ansible-playbook app1.yaml
PLAY [all] *********************************************************************************************
TASK [Gathering Facts] *********************************************************************************
ok: [172.16.6.163]
ok: [172.16.6.162]
TASK [app1 : create group] *****************************************************************************
ok: [172.16.6.162]
ok: [172.16.6.163]
TASK [app1 : create user] ******************************************************************************
ok: [172.16.6.163]
ok: [172.16.6.162]
TASK [app1 : install package] **************************************************************************
ok: [172.16.6.163]
ok: [172.16.6.162]
TASK [app1 : copy file] ********************************************************************************
ok: [172.16.6.162]
ok: [172.16.6.163]
TASK [app1 : copy file] ********************************************************************************
ok: [172.16.6.163]
ok: [172.16.6.162]
TASK [app1 : start service] ****************************************************************************
ok: [172.16.6.163]
changed: [172.16.6.162]
PLAY RECAP *********************************************************************************************
172.16.6.162 : ok=7 changed=1 unreachable=0 failed=0
172.16.6.163 : ok=7 changed=0 unreachable=0 failed=0
网友评论