当前位置: 首页 > news >正文

移动web开发/seo实战培训学校

移动web开发,seo实战培训学校,化工网站建站模板下载,装修设计公司服务目录 Ansible Facts是什么 查看Facts变量 剧本中使用facts变量 Ansible中的自定义变量 Ansible变量测试 Ansible Facts是什么 facts组件是Ansible用于采集被管理机器设备信息的一个功能用于采集的被控节点的设备信息主要包含IP地址、操作系统、以太网设备、mac 地址、时间/…

目录

Ansible Facts是什么

查看Facts变量

剧本中使用facts变量

Ansible中的自定义变量

Ansible变量测试


  • Ansible Facts是什么

    • facts组件是Ansible用于采集被管理机器设备信息的一个功能
    • 用于采集的被控节点的设备信息
    • 主要包含IP地址、操作系统、以太网设备、mac 地址、时间/日期相关数据,硬件信息等
    • facts变量可以理解为Ansible中的预定义变量
    • facts对我们是很有帮助的,省去了我们好多工作,大大提高了工作效率
  • 查看Facts变量

    • 使用setup模块,用于获取所有facts信息
## 常用参数filter:用于过滤指定信息## 样例
# 通过setup模块查看所有facts信息
[root@pubserver ~]# cd /root/ansible/
[root@pubserver ansible]# ansible webservers -m setup# facts变量是一个大的由{}构成的键值对字典
# 在{}中,有很多层级的嵌套。可以通过参数过滤出第一个层级的内容
[root@pubserver ansible]# ansible webservers -m setup -a "filter=ansible_all_ipv4_addresses"
[root@pubserver ansible]# ansible webservers -m setup -a "filter=ansible_bios_version"
[root@pubserver ansible]# ansible webservers -m setup -a "filter=ansible_memtotal_mb"
[root@pubserver ansible]# ansible webservers -m setup -a "filter=ansible_hostname"
[root@pubserver ansible]# ansible webservers -m setup -a "filter=ansible_mem*"
  • 剧本中使用facts变量

    • 剧本中可以使用debug模块打印变量信息
    • 剧本中默认有Gathering Facts的任务,收集到Facts信息后可以使用该模块打印
    • 剧本中调用变量格式:{{ 变量名 }}
## 常用参数msg:打印变量值,格式为:{{ 变量名 }}var:打印变量值,格式为:变量名## 样例
# 命令行
[root@pubserver ansible]# ansible webservers -m debug   #默认返回值为"Hello World!"# 剧本
[root@pubserver ansible]# vim debug1.yml 
---
- name: test debughosts: webserverstasks:- name: test debug msgdebug:msg: "hostname: {{ ansible_hostname }}; mem: {{ ansible_memtotal_mb }}"
[root@pubserver ansible]# ansible-playbook debug1.yml #扩展用法
[root@pubserver ansible]# vim debug2.yml 
---
- name: test debughosts: webserverstasks:- name: test debug vardebug:var: ansible_hostname, ansible_bios_version
[root@pubserver ansible]# ansible-playbook debug2.yml 

Ansible中的自定义变量

通过变量的使用可以让剧本更加灵活,多次运行剧本的时候只需要调整变量名即可

Ansible支持十几种变量定义方式

Ansible变量定义的位置,下列变量优先级从低到高

  • role defaults :roles defaults目录下的变量
  • inventory vars:inventory文件中定义的变量
  • inventory group_vars:inventory文件组的变量
  • inventory host_vars:inventory文件主机的变量
  • playbook group_vars:剧本中组的变量
  • playbook host_vars:剧本中主机的变量
  • host facts:事实变量
  • play vars:vars定义的变量
  • play vars_prompt:vars_prompt定义的变量
  • play vars_files:vars_files导入的变量
  • registered vars:注册变量
  • role and include vars:roles中单独定义的及导入的变量
  • block vars (only for tasks in block):block中定义的变量
  • task vars (only for the task):任务中定义的变量
  • extra vars (always win precedence):命令行指定的变量

Ansible变量测试

  • 主机清单变量
## 在inventory文件中定义变量# 主机变量
[root@pubserver ansible]# vim inventory 
[webservers]
web[1:2][dbs]
db1 username="liubei"   #定义属于db1主机的变量[cluster:children]
webservers
dbs
[root@pubserver ansible]# vim var1.yml
---
- name: create user with host varshosts: db1tasks:- name: test host varsuser:name: "{{ username }}"state: present
[root@pubserver ansible]# ansible-playbook var1.yml     #运行剧本
[root@pubserver ansible]# ansible db1 -a "id liubei"    #测试结果
db1 | CHANGED | rc=0 >>
uid=1000(liubei) gid=1000(liubei) groups=1000(liubei)
[root@pubserver ansible]# # 组变量
[root@pubserver ansible]# vim inventory 
[webservers]
web[1:2][dbs]
db1 username="liubei"[cluster:children]
webservers
dbs[webservers:vars]   #定义属于组的变量,:vars是固定格式
username="guanyu"
[root@pubserver ansible]# vim var2.yml
---
- name: create user with group varshosts: webserverstasks:- name: test group varsuser:name: "{{ username }}"state: present
[root@pubserver ansible]# ansible-playbook var2.yml             #运行剧本
[root@pubserver ansible]# ansible webservers -a "id guanyu"     #验证结果
web1 | CHANGED | rc=0 >>
uid=1041(guanyu) gid=1041(guanyu) groups=1041(guanyu)
web2 | CHANGED | rc=0 >>
uid=1041(guanyu) gid=1041(guanyu) groups=1041(guanyu)
  • 剧本变量
## 在Playbook中定义变量# 变量矩阵
[root@pubserver ansible]# vim var3.yml
---
- name: create user with play varshosts: webserversvars:                     #剧本中定义变量username: "zhangfei"    #定义变量password: "123456"      #定义变量,数字作为密码必须用引号,表示字符串tasks:- name: test play varsuser:name: "{{ username }}"password: "{{ password|password_hash('sha512')}}"state: present
[root@pubserver ansible]# ansible-playbook var3.yml # 变量文件
[root@pubserver ansible]# vim fvars.yml
---
username: "lvbu"
password: "654321"
[root@pubserver ansible]# vim var4.yml
---
- name: create user with vars fileshosts: webserversvars_files: fvars.yml     #调用定义变量的文件tasks:- name: test vars fileuser:name: "{{ username }}"  password: "{{ password | password_hash('sha512')}}"state: present
[root@pubserver ansible]# ansible-playbook var4.yml         #运行剧本   
[root@pubserver ansible]# ansible webservers -a "id lvbu"   #验证结果
web2 | CHANGED | rc=0 >>
uid=1043(lvbu) gid=1043(lvbu) groups=1043(lvbu)
web1 | CHANGED | rc=0 >>
uid=1043(lvbu) gid=1043(lvbu) groups=1043(lvbu)
  • Facts变量
## 调用Facts变量# 一定要开启Facts信息收集,gather_facts: yes
[root@pubserver ansible]# vim var5.yml
---
- name: copy file with factshosts: webserverstasks:- name: use factscopy:content: "hostname: {{ ansible_hostname }}\nbios_version: {{ ansible_bios_version }}"dest: /tmp/facts.txt
[root@pubserver ansible]# ansible-playbook var5.yml 
[root@pubserver ansible]# ansible webservers -a "cat /tmp/facts.txt"
web2 | CHANGED | rc=0 >>
hostname: web2
bios_version: rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org
web1 | CHANGED | rc=0 >>
hostname: web1
bios_version: rel-1.15.0-0-g2dd4b9b3f840-prebuilt.qemu.org 

http://www.lryc.cn/news/580519.html

相关文章:

  • 贵阳做网站/网站流量
  • 网站建设 招聘/设计网站的软件
  • 馆陶企业做网站推广/aso关键词优化计划
  • 网站制作安全防范方式/百度首页登录入口
  • 开发公司支付前期物业开办费包括哪些内容/重庆seo优化推广
  • 门户网站开发技术 知乎/站长数据
  • 做网站是百度包年快照/站长seo工具
  • 网上做批发的网站/吸引人的软文标题
  • 九江市网站建设/今日百度关键词排名
  • 社交网站开发教程/百度一下就知道官网
  • 互联网做网站属于什么行业/软件开发公司网站
  • 做框架模板的网站/中国万网域名注册服务内容
  • ui图标素材网站/如何快速推广一个app
  • 网站建设需要会什么软件有哪些内容/百度下载安装最新版
  • 中国外协加工网最新订单/什么是seo文章
  • 企业手机网站建设策划方案/大连网站seo
  • 深圳开发网站建设/网站页面优化包括
  • 域名免费注册地址/seo做什么网站赚钱
  • 成立公司协议/关键词优化外包
  • 滨海做网站需要多少钱/阿里指数查询手机版
  • 公司想做个自己的网站怎么做的/深圳网络推广服务是什么
  • wordpress 设置多域名 一个站点/线上推广方式都有哪些
  • 怎么创建网站 免费滴/网络营销岗位有哪些
  • 网站建设灬金手指下拉十五/网络营销的手段包括
  • 找人做网站注意事项/微信朋友圈广告代理
  • 聊城做网站推广找谁/aso推广方案
  • 手机app怎么制作流程图/广州seo学徒
  • 南阳网站推广/seo推广软件
  • 超频三网站谁家做的/石家庄网站seo
  • 不想使用wordpress/商丘seo