8,ansible8

Playbook模板(jinja2 语法渲染)
	将jinja2语法的文件,生成对应的生产文本。
[root@centos7 demo-jinjia2]# cat f.j2 
{% set list=['one','two','three']  %}
{% for i in list %}
   {{i}}
{% endfor %}
{{hello}}
[root@centos7 demo-jinjia2]# 


[root@centos7 demo-jinjia2]# cat /etc/ansible/hosts 
[webservers]
192.168.0.12 ansible_ssh_user=root ansible_ssh_pass=123456  http_port=123
192.168.0.13 ansible_ssh_user=root ansible_ssh_pass=123456  http_port=123
[root@centos7 demo-jinjia2]# 

[root@centos7 demo-jinjia2]# cat jinja2.yml 
---
- hosts: webservers
  gather_facts: no
  vars:
    hello: ansible
  tasks:
    - template: src=f.j2 dest=/tmp/j2 
[root@centos7 demo-jinjia2]# 
[root@centos7 demo-jinjia2]# ansible-playbook jinja2.yml --syntax-check

playbook: jinja2.yml
[root@centos7 demo-jinjia2]# 
[root@centos7 demo-jinjia2]# ansible-playbook jinja2.yml

PLAY [webservers] ********************************************************************************************************************************************************************************

TASK [template] **********************************************************************************************************************************************************************************
changed: [192.168.0.12]
changed: [192.168.0.13]

PLAY RECAP ***************************************************************************************************************************************************************************************
192.168.0.12               : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
192.168.0.13               : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

[root@centos7 demo-jinjia2]# 


登陆目标主机查看:
[root@centos7 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.12  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::573d:3f45:8bb8:5050  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::63aa:b68b:9d82:1610  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:6e:52:df  txqueuelen 1000  (Ethernet)
        RX packets 565  bytes 312209 (304.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 409  bytes 48667 (47.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 8  bytes 536 (536.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 536 (536.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@centos7 ~]# cat /tmp/j2 
   one
   two
   three
ansible
[root@centos7 ~]# 







管理nginx配置文件:
[root@centos7 demo-jinjia2]# cat ../hosts 
[webservers]
192.168.0.12 ansible_ssh_user=root ansible_ssh_pass=123456  http_port=123
192.168.0.13 ansible_ssh_user=root ansible_ssh_pass=123456  http_port=123
[root@centos7 demo-jinjia2]# 
[root@centos7 demo-jinjia2]# cat site.j2 
server {
	listen {{http_port}};
	server_name {{server_name}};
	location / {
		root /var/www/html;
		index index.html;
	}
}
[root@centos7 demo-jinjia2]# 
[root@centos7 demo-jinjia2]# cat jinj2.yml 
---
- hosts: webservers
  gather_facts: no
  vars:
    server_name: ansible
    http_port: 88888
  tasks:
    - template: src=site.j2 dest=/tmp/site.conf
[root@centos7 demo-jinjia2]# 
[root@centos7 demo-jinjia2]# 
[root@centos7 demo-jinjia2]# 
[root@centos7 demo-jinjia2]# ansible-playbook jinj2.yml  --syntax-check

playbook: jinj2.yml
[root@centos7 demo-jinjia2]# 
[root@centos7 demo-jinjia2]# ansible-playbook jinj2.yml

PLAY [webservers] ********************************************************************************************************************************************************************************

TASK [template] **********************************************************************************************************************************************************************************
changed: [192.168.0.13]
changed: [192.168.0.12]

PLAY RECAP ***************************************************************************************************************************************************************************************
192.168.0.12               : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
192.168.0.13               : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

[root@centos7 demo-jinjia2]# 



登陆目标主机查看:
[root@centos7 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.12  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::573d:3f45:8bb8:5050  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::63aa:b68b:9d82:1610  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:6e:52:df  txqueuelen 1000  (Ethernet)
        RX packets 968  bytes 523980 (511.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 648  bytes 77784 (75.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 8  bytes 536 (536.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 536 (536.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@centos7 ~]# 
[root@centos7 ~]# cat /tmp/site.conf 
server {
	listen 88888;
	server_name ansible;
	location / {
		root /var/www/html;
		index index.html;
	}
}
[root@centos7 ~]# 

  

posted @ 2020-11-18 08:50  pwcc  阅读(111)  评论(0)    收藏  举报