当前位置: 首页> 财经> 创投人物 > 网络营销运营推广方案下载_仙踪林老狼网站欢迎您拍照_五合一网站建设_微信软文案例

网络营销运营推广方案下载_仙踪林老狼网站欢迎您拍照_五合一网站建设_微信软文案例

时间:2025/7/12 9:12:58来源:https://blog.csdn.net/qq_47030101/article/details/142377901 浏览次数:0次
网络营销运营推广方案下载_仙踪林老狼网站欢迎您拍照_五合一网站建设_微信软文案例

文章目录

  • 一、Ansible的常量(内置的变量)有哪些
  • ???????????????????????????
  • 二、Ansible的变量的使用
    • 在主机清单文件中定义变量(不推荐)
    • 在bash中之间定义变量(不推荐)
    • 在剧本中定义变量(不推荐)
      • `vars`方式
      • `vars_files`方式
    • bash中定义变量、`vars`和`vars_files`同时定义相同变量谁的优先级高?
    • 在/etc/ansible/host_vars目录和/etc/ansible/group_vars目录中定义变量(!!推荐!!)
      • 简述:
        • 为什么推荐使用这两种方式
        • 内容:
      • 在/etc/ansible/host_vars目录中定义变量
      • 在/etc/ansbile/group_vars目录中定义变量
      • 两种方式定义相同变量时,谁的优先级高
    • 以上所有的定义变量的方式谁的优先级高?
  • Ansible变量注册`register`
    • 什么是`register`为什么使用`register`
    • 如何使用`register`

一、Ansible的常量(内置的变量)有哪些

???????????????????????????

二、Ansible的变量的使用

在Ansible中,变量可以分为多个类别,主要包括:

  1. 主机变量(Host Variables):特定于主机的变量,可以在 inventory 文件中定义。

  2. 组变量(Group Variables):针对主机组定义的变量,通常在 group_vars 目录中。

  3. Playbook 变量:在 playbook 中定义的变量,可以在 vars 部分声明。

  4. Facts:通过 Ansible 收集的关于主机的信息,使用 setup 模块自动收集。

  5. 临时变量:在任务中定义的临时变量,使用 set_fact 模块。

  6. 环境变量:可以通过 env 变量获取。

  7. 注册变量:通过任务的结果注册的变量,可以使用 register 关键字。

  8. Jinja2 变量:使用 Jinja2 模板语法定义和处理的变量。

  9. Playbook 参数:通过命令行传递给 playbook 的变量,使用 --extra-vars

  10. 默认变量:角色中的 defaults/main.yml 文件中定义的变量。

这些变量可以在任务、模板和其他地方使用,提供灵活的配置选项。

在主机清单文件中定义变量(不推荐)

[rsync:children]
web_servers
nfs_servers
backup_servers[web_servers]
...
[web_servers:vars]
id=777
user=ooo[nfs_servsers]
...
[backup_servers]
...

调用测试:

  • 错误调用:
---
- name: the play to test the inventory variableshosts: web_serversbecome: notasks:- name: task1debug:# 下面的msg的内容是错误书写:msg: "web_servers conent: id:{{web_servers.id}}, user:{{web_servsers.user}}"

会报错:
在这里插入图片描述

  • 正确调用:
---
- name: the play to test the inventory variableshosts: web_serversbecome: notasks:- name: task1debug:# 下面的msg的内容是正确书写:msg: "vars defined in web_servers have: id:{{id}}, user:{{user}}"

在这里插入图片描述

在bash中之间定义变量(不推荐)

ansible-playbook -e 'user=kk' -e 'id=888'

在剧本中定义变量(不推荐)

vars方式

---
- name: the play1hosts: xxxbecome: novars:packages1:- redis- tomcattasks:- name: task1yum:name: {{packages1}}# name: "{{packages}}"不加引号可以吗??????????state: present

vars_files方式

# 创建含有变量的文件
vim ansbile_vars.txt
# vim中写入以下内容:
vars:packages1:- redis- tomcat

调用测试:

---

bash中定义变量、varsvars_files同时定义相同变量谁的优先级高?

bash方式 > vars _files > vars
测试:

---
- name: the play1hosts: web_serversbecome: no# 定义一个user变量tasks:

在/etc/ansible/host_vars目录和/etc/ansible/group_vars目录中定义变量(!!推荐!!)

简述:

为什么推荐使用这两种方式
内容:
  • host_vars目录:
    定义单个主机的变量

  • group_vars目录:
    定义主机组的变量

在/etc/ansible/host_vars目录中定义变量

# 单独为web01主机定义变量,文件名必须和DNS解析的主机名(这里是web01)相同
vim /etc/ansbile/host_vars/web01# 进入vim写入:
user:web01_user
id:4443# 单独为web02主机定义变量,文件名必须和DNS解析的主机名(这里是web02)相同
vim /etc/ansible/host_vars/web02# 进入vim写入:
user:web02_user
id:4444

测试调用:

---
- name: the play1hosts: web_serversbecome: notasks:- name: the task1user:name: "{{user}}"uid: "{{id}}"state: present# 尽管变量名相同,但效果是会为web01和web02各自创建不同的user

在/etc/ansbile/group_vars目录中定义变量

# 为主机组创建统一的变量,文件名必须与定义的主机组名相同
vim /etc/ansible/group_vars/web_servers# vim写入:
user:group_uni_user
id: 4449

两种方式定义相同变量时,谁的优先级高

host_vars > group_vars
测试:

以上所有的定义变量的方式谁的优先级高?

1、命令行方式
2、host_vars方式
3、group_vars方式
4、playbook中vars_files方式
5、playbook中vars方式
6、主机清单方式

Ansible变量注册register

什么是register为什么使用register

如何使用register

---
- name: the play1hosts: xxxbecome: notasks:- name: task1shell: 'date'- name: task2debug:msg: "{{date.stdout}}"

在这里插入图片描述

关键字:网络营销运营推广方案下载_仙踪林老狼网站欢迎您拍照_五合一网站建设_微信软文案例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: