ansible-任务控制tags

1. ansible-任务控制tags介绍
        如果你有一个大型的剧本,那么只能运行它的特定部分而不是在剧本中运行所有内容可能会很有用。因此,Ansible支持“tags:”属性。
        执行playbook时,可以通过两种方式根据 “tags” 过滤任务

    • 在命令行上,使用或选项“--tags或 --skip-tags ”
    • 在ansible配置设置中,使用和选项“TAGS_RUN 或 TAGS_SKIP”

  标签可以应用于Ansible中的许多结构(参见下面的“标签继承”),但最简单的用途是单独的任务。以下是使用不同标记标记两个任务的示例:

 1 tasks:
 2 - yum:
 3     name: "{{ item }}"
 4     state: present
 5   loop:
 6   - httpd
 7   - memcached
 8   tags:
 9   - packages
10 
11 - template:
12     src: templates/src.j2
13     dest: /etc/foo.conf
14   tags:
15   - configuration

   如果您只想运行一个非常长的剧本的“配置”和“包”部分,您可以在命令行上使用该选项:--tags

1   ansible-playbook example.yml --tags "configuration,packages"

   另一方面,如果要在没有某些标记任务的情况下运行playbook ,可以使用命令行选项:--skip-tags

1   ansible-playbook example.yml --skip-tags "packages"

2. ansible-任务控制实例
  1)编写一个nginx的tags控制版本

 1 [root@test-1 bin]# vim  /ansible/nginx/bin/nginx_tags.yaml 
 2 [root@test-1 bin]# cat  /ansible/nginx/bin/nginx_tags.yaml 
 3 - hosts: web1
 4   remote_user: root
 5   vars:
 6     hello: Ansible
 7  
 8   tasks:
 9   - name: Add repo 
10     yum_repository:
11       name: nginx
12       description: nginx repo
13       baseurl: http://nginx.org/packages/centos/7/$basearch/
14       gpgcheck: no
15       enabled: 1
16     tags: 
17     - yum install
18 
19   - name: Install nginx
20     yum:
21       name: nginx
22       state: latest
23     tags:
24     - yum nginx install
25 
26   - name: Copy nginx configuration file
27     copy:
28       src: /ansible/nginx/conf/site.conf
29       dest: /etc/nginx/conf.d/site.conf
30   - name: Start nginx
31     service:
32       name: nginx
33       state: started
34   - name: Create wwwroot directory
35     file:
36       dest: /var/www/html
37       state: directory
38   - name: Create test page index.html
39     shell: echo "hello {{hello}}" > /var/www/html/index.html

  2) 检查配置文件是否正确

1 [root@test-1 bin]# ansible-playbook --syntax-check nginx_tags.yaml 
2 
3 
4 playbook: nginx_tags.yaml

  3) 执行文件
      包括tags 标签的执行的

 1 [root@test-1 bin]# ansible-playbook nginx_tags.yaml  --tags "yum nginx install"
 2 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
 3 
 4 
 5 PLAY [web1] ************************************************************************************************************************************
 6 
 7 TASK [Gathering Facts] *************************************************************************************************************************
 8 ok: [192.168.200.133]
 9 ok: [192.168.200.132]
10 
11 TASK [Install nginx] ***************************************************************************************************************************
12 ok: [192.168.200.133]
13 ok: [192.168.200.132]
14 
15 PLAY RECAP *************************************************************************************************************************************
16 192.168.200.132            : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
17 192.168.200.133            : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

      不包括tags内的以外的执行

 1 [root@test-1 bin]# ansible-playbook nginx_tags.yaml  --tags "yum install,yum nginx install"
 2 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
 3 
 4 
 5 PLAY [web1] ************************************************************************************************************************************
 6 
 7 TASK [Gathering Facts] *************************************************************************************************************************
 8 ok: [192.168.200.133]
 9 ok: [192.168.200.132]
10 
11 TASK [Add repo] ********************************************************************************************************************************
12 ok: [192.168.200.133]
13 ok: [192.168.200.132]
14 
15 TASK [Install nginx] ***************************************************************************************************************************
16 ok: [192.168.200.133]
17 ok: [192.168.200.132]
18 
19 PLAY RECAP *************************************************************************************************************************************
20 192.168.200.132            : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
21 192.168.200.133            : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

 

转载于:https://www.cnblogs.com/scajy/p/11511417.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值