首页 > 其他 > 详细

playbook变量(五)

时间:2019-12-29 19:27:22      阅读:81      评论:0      收藏:0      [点我收藏+]

一、playbook变量
变量名:字母数字和下划线

二、变量来源

1.ansible 主机 -m setup|less所有主机都可以调用

#过滤-a ‘filter=*address*‘

技术分享图片

 2. 在/etc/ansible/hosts

 2.1 在host配置文件定义http_port变量

技术分享图片

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

  tasks:
    - name: set hostname
      hostname: name=www.{{http_port}}.123

技术分享图片

2.2为组设置固定格式

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

  tasks:
    - name: set hostname
      hostname: name={{nodename}}.{{http_port}}.{{dominname}}

技术分享图片

技术分享图片

3、通过命令行指定变量、优先级最高

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

  tasks:
    - name: install package
      yum: name={{ pkname }}
    - name: start service
      service: name={{ pkname }} state=started enabled=yes

ansible-playbook -e ‘pkname=vsftpd‘  app.yaml

技术分享图片

 技术分享图片

 3.1定义多个变量

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

  tasks:
    - name: install package
      yum: name={{ pkname1 }}
    - name: install package
      yum: name={{ pkname2 }}

技术分享图片

4、 在playbook中定义
vars:
- var1: value1
- var2: value2

[root@linux-node1 ansible]# cat app2.yaml
---
- hosts: date
  remote_user: root
  vars:
    - pkname1: httpd
    - pkname2: vsftpd

  tasks:
    - name: install package
      yum: name={{ pkname1 }}
    - name: install package
      yum: name={{ pkname2 }}

技术分享图片

技术分享图片

  

playbook变量(五)

原文:https://www.cnblogs.com/zhaojingyu/p/12115861.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!