ansible-playbook 01 变量

2020-09-18  本文已影响0人  xlgao

ansible 环境变量优先级

ansible 变量优先级

命令行指定变量 > yaml文件中的变量> 主机清单中的变量

ansible变量具体使用方法

  1. ansible命令行中指定变量
ansible-playbook -e 'pkgname=httpd' file.yaml
  1. yml文件中指定变量
---
- hosts: k8s
  remote_user: root
  vars:
    - pkgname1: httpd
    - pkgname2: vsftpd
 tasks:
    - name: install {{ pkgname1 }}
      yum: name={{ pkgname1 }}
    - name: install {{ pkgname2 }}
      yum: name={{ pkgname2 }}
  1. 在ansible清单文件中定义变量
[k8s]
172.16.6.190 host_name=master
172.16.6.191 host_name=node1
172.16.6.192 host_name=node2
172.16.6.193 host_name=node3
172.16.6.195 host_name=harbor
[k8s]
172.16.6.190 host_name=master
172.16.6.191 host_name=node1
172.16.6.192 host_name=node2
172.16.6.193 host_name=node3
172.16.6.195 host_name=harbor

[k8s:vars]
nodename=www
domainname=123.com

tasks:
  - name
    hostname: name={{nodename}}{{host_name}}.{{domainname}}
  1. 定义单独存放变量的文件
~] cat var1.yml
var1:httpd
var2:vsftpd

---
- hosts: all
  remote_user: root
  vars_file:
    - var1.yml

  tasks:
    - name: install pkg
      yum: name={{ var1 }}
    - name: create file
      file: name=/tmp/{{ var2 }} state=touch
上一篇下一篇

猜你喜欢

热点阅读