hosts:主机组,后面定义的task将作用于该主机组的所有主机 vars:变量定义,在后面的task中可以引用 remote-user:连接参数,例如remote-user,become,become-user等等,这些参数将会覆盖ansible.cfg配置文件里的参数 tasks:任务,可以看作很多modules的集合,这些modules可以使用vars定义的变量 handlers:触发才会执行的task,很多情...
5. 在每个角色的 handlers、tasks、meta、defaults、vars 目录下创建 main.yml 文件,千万不能自定义文件名 6. 修改 site.yml 文件,针对不同主机区调用不同的角色
主机定义变量== 变量名=值 主机组定义变量== [主机组:vars] 第二种:通过vars关键字定义变量(用于playbook中) #需注意在playbook中变量需要使用:来进行分隔 #也可引入文件中的变量(引入的外部文件必须为yml或者是json格式),需注意引入文件时使用的是 vars_files 变量文件: playbook: 运行结果: 第三种:通过host_...
remote_user: root vars_files: #引用变量文件 - ./var.yml #指定变量文件的path(这里可以是绝对路径,也可以是相对路径) tasks: - name: install package yum: name={{ var1 }} #引用变量 - name: create file file: name=/tmp/{{ var2 }}.log state=touch #引用变量 1. 2. 3. 4. 5. 6. ...
上面的目录中,tasks、handlers、vars、meta、default至少应该包含一个main.yml文件,该目录下也可以有其他.yml文件,但是需要在main.yml文件中用include指令将其他.yml文件包含进来。 . 有了角色后,可以直接在yaml文件(playbook配置文件)中调用角色,示例如下:
vars: # 设置playbook变量 nginx_port: 83 vars_files: "vars.yml" [ "one.yml", "two.yml" ] vars_prompt: name: "password vaes" # prompt: "Enter password" # default: "secret" # private: yes # encrypt: "md5_crypt" # confirm: yes ...
vars:-testfile1:mytestfile-testfile2:youtestfile 两种写法都可以,根据你自己喜好。 除了在playbook中定义变量外,还可以在单独一个文件中定义变量 比如:写一个名为my_vars.yaml的变量文件如下: nginx_port:"listen 880"#变量中间有空格的用双引号,没有空格的可以不用引号# ...
│ └── vars │ └── main.yml 以上是项目是docker批量安装。这个目录格式是我这边安装项目的目录规范。但并不是说每个目录下的main.yml文件都存在内容,其实很多时候我们可能用不到default/main.yml和meta/main.yml。 5.2 Hosts 远程主机列表 playbook中的每一个play的目的都是为了让特定主机以某个指定的用...
vars_files: - vars.yml 在/etc/ansible/hosts中定义: 1.主机(普通)变量:主机组中主机单独定义,优先级高于公共变量; 2.组(公共)变量:针对主机组中所有主机定义同一变量; 在role中定义 template模板 模板是一个文本文件,可以作为生成文件的模板,并且模板文件中还可以嵌套jinja语法。
1[yun@ansi-manager object02]$ pwd2/app/ansible_info/object023[yun@ansi-manager object02]$ cat../hosts_key4# 方式1、主机+端口+密钥5[manageservers]6172.16.1.180:2278[proxyservers]9172.16.1.18[1:2]:2210[proxyservers:vars]11zabbix_version=2.212zabbix_rpm=zabbix-release-2.2-1.el7.noarch.rpm13...