一、在剧本的当前目录创建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
3.1修改端口(自定义变量)
vim /etc/ansible/hosts
vim templates/nginx.conf.j2
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
最后结果:/etc/ansible/hosts( [date:vars]组 < [date]中 )< ansible-playbook <ansible-playbook -e定义
原文:https://www.cnblogs.com/zhaojingyu/p/12131991.html