doina

一个小菜鸟运维工程师.

Ansible tags 用法

tags的作用: 可以针对一个大型的playbook来给不同的play打标签,使得可以直接运行这个标签,从而执行这一部分的任务

编写playbook

#这个playbook的作用是安装tree和添加一个计划任务
[root@squid tags]# cat firsh_tags.yaml 
---
- hosts: client
  tasks:
  - name: install soft tree
    yum: name=tree state=present
    tags:
      - InstallTree

  - name: add update time crontab
    cron:
      name: "At 21:30 every day updateTime"
      user: root 
      minute: 30 
      hour: 21 
      job: "/usr/sbin/ntpdate cn.pool.ntp.org >> /var/log/cron  2>&1"
    tags:
      - AddTimeCrontab

执行playbook

[root@squid tags]# ansible-playbook firsh_tags.yaml

PLAY [client] *****************************************************************

TASK [install soft tree] ******************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]

TASK [add update time crontab] ************************************************
changed: [10.241.0.10]
changed: [10.241.0.11]

PLAY RECAP ********************************************************************
10.241.0.10                : ok=2    changed=1    unreachable=0    failed=0   
10.241.0.11                : ok=2    changed=1    unreachable=0    failed=0  

执行tags

#只执行安装tree的tags
[root@squid tags]# ansible-playbook firsh_tags.yaml  --tags "InstallTree"

PLAY [client] *****************************************************************

TASK [install soft tree] ******************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]

PLAY RECAP *********************************************************************
10.241.0.10                : ok=1    changed=0    unreachable=0    failed=0   
10.241.0.11                : ok=1    changed=0    unreachable=0    failed=0  


#只执行添加计划任务的tags
[root@squid tags]# ansible-playbook firsh_tags.yaml  --tags "AddTimeCrontab"

PLAY [client] *******************************************************************

TASK [add update time crontab]  *************************************************
ok: [10.241.0.10]
ok: [10.241.0.11]

PLAY RECAP **********************************************************************
10.241.0.10                : ok=1    changed=0    unreachable=0    failed=0
10.241.0.11                : ok=1    changed=0    unreachable=0    failed=0  

#一次执行多个tags 用,分割
[root@squid tags]# ansible-playbook firsh_tags.yaml  --tags "InstallTree,AddTimeCrontab"

PLAY [client] *******************************************************************

TASK [install soft tree] ********************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]

TASK [add update time crontab] **************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]

PLAY RECAP **********************************************************************
10.241.0.10                : ok=2    changed=0    unreachable=0    failed=0
10.241.0.11                : ok=2    changed=0    unreachable=0    failed=0 

#跳过某个tags
[root@squid tags]# ansible-playbook firsh_tags.yaml  --skip-tags "AddTimeCrontab"

PLAY [client] *******************************************************************

TASK [install soft tree] ********************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]

PLAY RECAP *********************************************************************
10.241.0.10                : ok=1    changed=0    unreachable=0    failed=0   
10.241.0.11                : ok=1    changed=0    unreachable=0    failed=0
点赞

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据