Ansible_playbook_lookup组件


#
# Topic: Ansible lookups组件
# State:
# 1. 通过lookups组件,Ansible可以从其他地方拉取数据
# 2
# Testing environment:
# OS: RHEL6.6
# Python: python2.7.5
# Ansible: ansible 2.3.1.0
# Nodes: 3
#

    1. lookups file:
    • 原理:
      利用python codecs.open模块打开一个文件并返回文件内容
    • 用法:
      可以将返回的结果放在一个变量中,然后使用python的字符串处理方法进行处理
    • 示例:

# lookups file

  • name: lookups file
    remote_user: root
    hosts: tomcat
    gather_facts: no
    tasks:

    • name: lookups file
      vars:
      user: "{{ lookup('file', '/etc/ansible/looksup/looks.yml') }}"
      debug: msg="{% for i in user.split("\n") %}{{i}}{% endfor %}"
    1. lookups password:
    • 原理:
      对获取的内容进行加密处理
    • 用法:
      lookup('password', 'file_path')
    • 示例:

# lookups file

  • name: lookups file
    remote_user: root
    hosts: tomcat
    gather_facts: no
    tasks:

    • name: lookups file
      vars:
      user: "{{ lookup('password', '/etc/ansible/looksup/looks.yml') }}"
      debug: msg="{{user}}"
    1. lookups pipe:
    • 原理:
      相当于linux中的管道的作用, 将一个命令输出结果返回
    • 用法:
      lookup('pipe', 'command')
    • 示例:

  • hosts: tomcat
    gather_facts: no
    tasks:

    • name: the first task
      vars:
      content: "{{ lookup('pipe', 'date +%y-%m-%d') }}"
      debug: msg="{% for i in content.split("\n") %} {{ i }} {% endfor %}"
    1. lookups redis_kv:
    • 原理:
      链接redis数据库, 从redis中获取数据

    • 用法:

    • 示例:

    1. lookups template:
    • 原理:
      先渲染jinja2模板之后再读取文件内容

    • 用法:

    • 示例:


  • hosts: tomcat
    remote_user: root
    tasks:
    • name: first
      vars:
      content: "{{lookup('template', './tmp.j2')}}"
      debug: msg="{% for i in content.split("\n") %} {{i}} {% endfor %}"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.ansible (1) ansible: ansible是一款新出现的自动化运维系统,基于python开发并集...
    楠人帮阅读 2,015评论 0 8
  • # Topic: Ansible playbook中的循环# State:# 1. 通过使用循环可以让重复的工...
    Michael_林阅读 1,777评论 0 0
  • ansible 系统架构 ansible简介ansible是新出现的自动化运维工具,ansible是一个配置管理和...
    运维阿文阅读 9,722评论 1 52
  • Ansible简介 Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署An...
    魏镇坪阅读 2,390评论 1 6
  • 今天和小乐一起去参加奥赛组织的亲子制作月饼活动还有亲子比赛项目。 月饼做好之后,趁着烤制的空档举行了亲子运动项目。...
    一瓶花开阅读 372评论 0 5