4-1·Ansible进阶、变量与事实、包含

本文详细介绍了Ansible中的变量和事实,包括变量的范围、使用方式,如playbook中的变量、主机变量和组变量,以及如何在命令行中覆盖变量值。此外,还讲解了Ansible的事实,包括如何获取和使用它们,以及如何自定义事实。最后,文章阐述了Ansible中的包含机制,包括包含任务和变量,以便于管理和复用代码。

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

四·Variables and Facts

1)变量简介:

● ansible支持利用变量储存整个ansible项目文件中可重复使用的值
● 变量的名称由字符串组成,必须以字母开头,并且只能包含字母,数字,下划线

2)变量的范围

● ansible中变量可以分为三个范围
● Global范围:从命令行或ansible配置设置的变量
● Play范围:在play和相关结构中设置的变量
● Host范围:由inventory、facts或注册的任务,在主机组和个别主机上设置的变量
● 三个范围的变量优先级一次升高,如果变量重复定义,则以优先级高的为准

3)playbook中的变量:

● 在编写playbook时,管理员可以定义变量并在任务中调用他们
● playbook变量可以通过多种方式定义,最简单方式就是将他放在playbook开头的vars块中

-  hosts: all
    vars:
        user:  joe
        home:  /home/joe

● 也可以在外部文件中定义playbook变量。此时不使用vars,使用vars_files指令,而后以YAML格式在文件中定义playbook

-  hosts:  all
    vars_files:
        -  vars/users.yml

user:  joe
home:  /home/joe

4)在playbook中使用变量:

● 定义了变量后,管理员可以在任务中使用这些变量。若要引用,可将变量名称放在双花括号内

    name:  {
   
   {  user  }}

● 强烈建议变量使用引号,这可防止ansible将变量视为YAML字典的开头。

     name:  "{
   
   {  name  }}"

5)主机变量和组变量:

● 直接应用到主机的变量清单可以归为两类:
● 主机变量应用到主机
● 组变量应用到组内所有主机
● 主机变量优先于组变量,但playbook中定义的变量高于这两者
● 建议在与清单文件或目录相同的工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值