playbook变量(六)template 基本使用

一、在剧本的当前目录创建templates文件夹(template只能在剧本使用)

 二、例子

2.1

[root@linux-node1 ansible]# cat test_template.yaml 
---
- hosts: date
  remote_user: root

  tasks:
    - name: install package
      yum: name=nginx
    - name: copy template
      template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
    - name: start service
      service: name=nginx state=started enabled=yes
ansible-playbook   test_template.yaml

2.1修改templates文件(ansible_processor_vcpus cup个数)

vim templates/nginx.conf.j2

 handlers、notify定义重启规则

[root@linux-node1 ansible]# cat test_template1.yaml 
---
- hosts: date
  remote_user: root

  tasks:
    - name: install package
      yum: name=nginx
    - name: copy template
      template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
      notify: restart service
    - name: start service
      service: name=nginx state=started enabled=yes

  handlers:
    - name: restart service
      service: name=nginx state=restarted 
ansible-playbook   test_template1.yaml

playbook变量(六)template 基本使用_第1张图片

 3.1修改端口(自定义变量)

vim /etc/ansible/hosts

playbook变量(六)template 基本使用_第2张图片

vim templates/nginx.conf.j2

playbook变量(六)template 基本使用_第3张图片

playbook变量(六)template 基本使用_第4张图片

playbook变量(六)template 基本使用_第5张图片

 4.1、在剧本中定义变量

[root@linux-node1 ansible]# cat test_template1.yaml 
---
- hosts: date
  remote_user: root
  vars:
    - http_port: 99

  tasks:
    - name: install package
      yum: name=nginx
    - name: copy template
      template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
      notify: restart service
    - name: start service
      service: name=nginx state=started enabled=yes

  handlers:
    - name: restart service
      service: name=nginx state=restarted

playbook变量(六)template 基本使用_第6张图片

最后结果:/etc/ansible/hosts( [date:vars]组 < [date]中 )< ansible-playbook  
 

你可能感兴趣的:(playbook变量(六)template 基本使用)