2020-03-14

变量优先使用顺序:

命令行变量--->play中的vars_files--->play中的vars变量-->host_vars中定义的变量--->group_vars/组--->group_vars/all

用vars.yml存储变量

vi vars.yml

vars1: httpd

vars2: vsftpd


剧本

--

- hosts: nginx

  remote_user: root

  vars_files:

    - vars.yml

  tasks:

    - name: install package

      yum: name={{ vars1 }}

    - name: create file

      file: name=/data/{{ vars2 }}.log state=touch

~                                                     


测试


直接在剧本里定义变量


执行


group_vars/web_server定义变量

group_vars/xxxx,这个xxxx必须与host inventory里,即hosts文件中的组名一样xxxx

注意:系统提供了特殊的组,all,也就说在group_vars目录下创建一个all文件,定义变量对所有的主机都生效,就好比我们平常如果只想测试所以被控端是否有哪些跌机了,可以用这个命令

ansible all -m ping 这个all就是hosts文件中所有组的所有主机加一起,即是同一个all




语法检查

因为这两台host我关机了,所以才会这样


注释掉group_vars/web_server里的var变量,因为group_vars/xxxx的优先级高于host_vars/xxxx。所以不注释掉是没法实现的


我们可以看到,还是可以的,语法上没错误


命令行指定,级别最高 加-e


group_vars/all这个我在这里就不展示了,因为这个级别最低。

playbook的语法格式如下:  - hosts:  webservers 是定义的主机组 也就是playbook中的 play 角色的意思 注意":" 冒号后面也必须价格空格不然就报错

  tasks: 注意 他前面是有2个空格的, ansible 是用空格来区分规格的, 记住不能使用tab按键

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 简介 架构 原理 组成 ANSIBLE PLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置...
    毛利卷卷发阅读 1,173评论 0 2
  • 1)安装2)常用模块3)inventory4)playbook(role\tag\template)5) yaml...
    秦记阅读 4,553评论 2 5
  • 安装Apache服务程序 yum install httpd ![yuminstallhttpd.jpg](htt...
    安炯燮静安寺阅读 170评论 0 0
  • ## ECMAScript各个版本新增语法 - ES7 1. **幂运算 2. Array.includes(...
    孤梅恋寒阅读 134评论 0 0
  • 运维核心工作: 操作系统安装(物理机、虚拟机)--> 应用程序包部署(安装、配置、服务启动 )--> 批量操作 -...
    Net夜风阅读 1,743评论 0 4

友情链接更多精彩内容