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

做外销网站服务器好吗杭州谷歌推广

做外销网站服务器好吗,杭州谷歌推广,顺德高端网站建设,做o2o网站需要多少钱变量 playbook的变量有以下几种 在playbook中用户自定义的变量远程主机中由Ansible收集的变量在文件模板中使用的上述两种变量把任务结果作为一个变量使用,叫注册变量用户在执行playbook时,通过命令行传入的变量,叫做额外变量 在playbook中…

变量

  • playbook的变量有以下几种
    • 在playbook中用户自定义的变量
    • 远程主机中由Ansible收集的变量
    • 在文件模板中使用的上述两种变量
    • 把任务结果作为一个变量使用,叫注册变量
    • 用户在执行playbook时,通过命令行传入的变量,叫做额外变量

在playbook中用户自定义的变量

playbook中定义变量

  • 在playbook中定义的变量,称为局部变量,只能在当前的playbook中使用
  • 用户可以使用vars关键字 在playbook中定义变量
  • 使用{{ var_name }}来引用变量

把变量放在单独的文件中

  • 可以把变量放在单独的文件中,然后在playbook中使用vars_files关键字引入变量文件
  • 变量文件的后缀名可以是.yml或者.yaml
  • 使用文件中变量的方法与 在playbook中定义变量的方法相同

定义和使用复杂变量

  • 使用复杂变量时,定义的语法为yaml中的字典格式
foo:field1: onefield2: two
  • 访问复杂变量中的子属性,可以使用中括号或者点号
foo['field1']
foo.field2

yaml的陷阱

  • 变量引用时,如果提示语法错误,可以在引用变量的{}外加上""引号

远程主机系统变量(Facts)

  • Ansible会在每次执行任务时,收集远程主机的系统信息,这些信息会被存储在一个叫做Facts的变量中
  • 可以使用setup模块来查看Facts变量的内容,查看方式如下
ansible all -m setup

使用Facts变量

  • 在playbook中可以直接使用Facts变量
  • Facts变量是一种多层级的,遵守yaml规范的复杂的变量,如下:
"ansible_device_links": {"ids": {"sda": ["scsi-36002248079f9f66f426ea82fb0957801","wwn-0x6002248079f9f66f426ea82fb0957801"],"sdb": ["scsi-36002248019fafe73e00cc6e7e8b292d5","wwn-0x6002248019fafe73e00cc6e7e8b292d5"]}
}
  • 可以通过以下两种方式访问复杂变量中的子属性
    • 中括号
      • {{ansible_ens3["ipv4"]["address"]}}
    • 点号
      • {{ansible_ens3.ipv4.address}}

关闭Facts变量

  • 注意,在实际playbook运行中,收集Facts变量需要消耗额外的时间,因此在不使用Facts变量的情况下,可以使用gather_facts来控制是否使用远程变量
- hosts: whatevergather_facts: no

文件模板中使用的变量

template中变量的定义

  • 在playbook中定义的变量
  • Facts变量
  • inventory中定义的host和group变量

template中变量的使用

  • 使用Jinja2语言书写模板文件
  • 需要了解{{}}用来引用变量即可

注册变量

  • 将任务的执行结果当作一个变量,这个变量叫做注册变量
  • 关键字register,后面跟注册变量名称
  • 在后续中,通过名称来引用注册变量
  • 通常配合debug模块一同使用:
    • debug模块可用于在playbook执行过程中输出一些需要的信息
---
- name: Register testhosts: '127.0.0.1'tasks:- name: Register testansible.builtin.shell: lsregister: aaaignore_errors: true- shell: echo "{{aaa.stdout_lines}}" > /tmp/reg.log- debug: msg="{{aaa.stdout_lines}}"

命令行传递参数

  • 用户在执行时传入变量的值:“额外变量”或者叫“命令行变量”

定义命令行变量

  • 直接在playbook中引用需要的变量
  • 如在执行Playbook时不传递变量,则会报错
    • 如果在执行命令时候传递Playbook中已定义的变量,会覆盖Playbook中变量的值

使用命令行变量

  • 直接传递
    • ansible-playbook test.yml --extra-vars "host=web"
  • JSON格式参数传递
    • ansible-playbook test.yml --extra-vars "{'host':'web'}"
  • 将变量参数放在文件中
    • ansible-playbook test.yml --extra-vars "@vars.json"
http://www.hkea.cn/news/886824/

相关文章:

  • 一个好的网站是什么样的商家联盟营销方案
  • 网站解除域名绑定网站广告收费标准
  • 郑州的建设网站有哪些手续免费发布推广信息的平台有哪些
  • 手机做网站软件优化服务平台
  • 网站图片装修的热切图怎么做营销技巧培训
  • 可以上传图片的网站怎么做百度关键词点击
  • 泉州网站制作广州seo网站开发
  • cuntlove wordpressseo外链发布工具
  • 购买一个网站空间如何可以多个域名使用吗长沙网站建设服务
  • 天津市建设委员会网站上海网站制作开发
  • 扬中网站建设墨子学院seo
  • 分析电子商务网站建设需求教案青岛今天发生的重大新闻
  • 汕头模板开发建站百度发布信息怎么弄
  • 健身网站开发项目总结关键词筛选工具
  • 重庆网站建设零臻靠谱国内永久免费的云服务器
  • 软件库合集软件资料2024郑州百度快照优化
  • 房地产开发公司网站建设方案seo去哪里学
  • 做网站可以赚钱吗百度小说搜索风云排行榜
  • 做网站交接需要哪些权限网站seo视频教程
  • 在网站怎么做收款二维码刷移动关键词优化
  • 问信息奥赛题怎么做 去哪个网站互联网网络推广
  • b2c电子商务网站系统下载专业网站seo推广
  • 引流推广的方法seo诊断工具
  • 平阴县建设工程网站直通车推广怎么做
  • 网站开发外包不给ftp高佣金app软件推广平台
  • 太原适合网站设计地址百度用户服务中心客服电话
  • 济南源码网站建设长沙网站seo推广公司
  • 北京网站制作17页和业务多一样的平台
  • 无锡市住房城乡建设委网站简单网页设计模板html
  • 武汉市大型的网站制作公司网站ip查询