ansible Playbook 中变量的使用
变量名
仅能由字母、数字和下划线组成,且只能以字母开头
变量来源
1. ansible setup facts 远程主机的所有变量都可直接调用
ansible localhost -m setup
2. 在/etc/ansible/hosts中定义
普通变量:主机组中主机单独定义,有限级高于公共变量
公共(组)变量:针对主机组中所有足迹定义统一变量
# tail hosts
[websrvs]
10.10.2.230
10.10.2.130
[websrvs:vars]
nodename=222
domainname=lx.tech
# cat yml/hostname.yml
---
- hosts: websrvs
remote_user: root
tasks:
- name: set hostname
hostname: name={{nodename}}{{http_port}}.{{domainname}}
ansible-playbook yml/hostname.yml
3. 通过命令行指定变量,优先级最高
ansible-playbook -e 'pkname=vsftpd' app.yml
app.yml :内容如下
---
- hosts: appservs
remote_user: root
tasks:
- name: install package
yum: name={{ pkname }}
- name: start service
service: name={{ pkname }} state=started enabled=yes
4. 在playbook中定义
---
- hosts: appservs
remote_user: root
vars:
- var1: httpd
- var2: nginx
tasks:
- name: install package
yum: name={{ item }}
with_items:
- {{ var1 }}
- {{ var2 }}
本文来自博客园, 作者:Star-Hitian, 转载请注明原文链接:https://www.cnblogs.com/Star-Haitian/articles/15233952.html

浙公网安备 33010602011771号