ansible roles

2020-07-21  本文已影响0人  xlgao

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文件。文件中的顺序即为运行顺序。

  1. main.yaml
- include: group.yaml
- include: user.yaml
- include: installhttp.yaml
- include: temp1.yaml
- include: copyfile.yaml
- include: start.yaml
  1. 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
  1. group
- name: create group
  group: name=app system=yes
  1. 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   


上一篇下一篇

猜你喜欢

热点阅读