自动化运维工具 ANSIBLE(四)

本文详细介绍了Ansible中各种变量的定义与使用方法,包括setup模块、主机清单、ansible-playbook命令、YAML文件、独立变量文件、角色文件及模板配置文件中的变量。深入探讨了如何在不同场景下灵活应用变量,提升自动化部署效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

setup模块中定义的变量

  1. ansible_distribution_major_version
  2. ansible_all_ipv4_addresses
  3. ansible_nodename
  4. ansible_processor_vcpus
  5. ansible_memtotal_mb
  6. ansible_os_family

主机清单中定义的变量

[mariadbsrvs]
192.168.209.49 hostname=node3
192.168.209.59 hostname=node4

[websrvs]
192.168.209.29 hostname=node1
192.168.209.39 hostname=node2

[websrvs:vars]
suf=txt

ansible-playbook命令中定义变量

ansible-playbook -e hostname=xuepeng -e suf=com vars3.yml

在yml文件中定义变量

---
- hosts: websrvs
  remote_user: root
  vars:                 //在yml文件中定义变量
   - hostname: testdir
   - suf: pdf

  tasks:
   - name: create file
     file: name=/data/{{hostname}}.{{suf}} state=touch

作为一个独立的变量yml文件

vim vars.yml
hostname: pengpeng
suf: yml

// 调用 vars.yml中的变量
---
- hosts: websrvs
  remote_user: root
  vars_files: vars.yml

  tasks:
   - name: create file
     file: name=/data/{{hostname}}.{{suf}} state=touch

在角色yml文件中定义变量

- hosts: mariadbsrvs
  remote_user: root

  roles:
   - { role: mariadb, when: ansible_distribution_major_version == "6" }

在模板配置文件中引用变量

/roles/nginx/templates/nginx.conf.j2 
user {{nginx_user}};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值