Ansible-playbook实战(二)

 

模版配置文件安装redis

上次我们使用了简单的方法copy配置文件安装redis,这次我们使用内置变量和模版来做这件事情。

cd /root/121.36.40.218/etc/
#进入配置文件放置的目录
cp redis.conf redis.conf.j2 
#复制配置文件为redis.conf.j2 
vim redis.conf.j2 
#编辑变量使其成为模版
bind {ansible_facts['eth0']['ipv4']['address']}
#第61行,应该是两个花括号,我这里两个花括号无法显示
port {redis_port}
#第84行,设置IP地址端口为变量,这里也是两个花括号
ansible all -m setup
#查看模版,确实有ansible_facts这个变量
vim /root/playbooks/redis_third.yaml
#写剧本3
- hosts: all
  remote_user: root
  vars:
    redis: /root/121.36.40.218/etc/redis.conf.j2
    redis_port: 6399
  tasks:
  - name: install redis
    yum: name=redis state=latest
  - name: start redis
    service: name=redis state=started
  - name: copy config
    template: src= dest=/etc/redis.conf owner=redis
    #这里使用了模版
    notify: restart redis
    tags: configfile
  - name: start redis
    service: name=redis state=started
  handlers:
  - name: restart redis
    service: name=redis state=restarted                                                           
ansible-playbook redis_third.yaml 
#运行剧本

在这里插入图片描述

这时候我们去远程主机看一下redis的绑定IP和端口

在这里插入图片描述 可以看到绑定的是自己IP和我们写的端口6399