1.2 在playbook中定义变量 1.在playbook开头的vars块中定义变量(常见方式) 2.在外部文件定义playbook变量 1.3 在playbook中使用变量 1.4 变量的分类 1.定义主机变量和组变量: 2.使用已注册变量捕获命令输出 1.5 管理变量的练习 2.魔法变量 2.1 常用的魔法变量 2.2 魔法变量的用途 3.管理事实 3.1 查看主机信息 3.2...
1.编写Playbook:具备两个play, 每个Play具备两个任务 2.在play中定义变量: play_var = play_var -> 使用debug模块输出 3.在文件中定义变量: file_var = file_var -> 使用debug模块输出 4.在清单文件中定义主机变量和主机组变量: inventory_host_var = inventory_host_var -> 使用debug模块输出 inventory_g...
1、ansible 的 setup facts 远程主机的所有变量都可直接调用根据变量生成文件2、通过命令行指定变量,优先级最高 ansible-playbook -e "varname=value" test.yml3、在playbook文件中定义定义: vars: var1: value1 var2: value24、在独立|专用的变量YAML文件中定义-hosts: all vars_files:-vars.yml5、在主机清...
效率实在是慢, 因此,我们可以使用playbook中的循环语句来进行添加 案例一、使用循环启动多个服务 [root@m01project2]# cat with.yml-hosts:webserverstasks:-name:Starthttpdmariadbsystemd:name={{item}}state=startedwith_items:-httpd-mariadb 在上述案例中,我们使用的关键字是with_items, 在执行的时候,会自动去...
一、playbook条件语句 不管是shell还是各大变成语言中,流程控制,条件判断这些都是必不可少的,在我们使用Ansible的过程中,条件判断的使用频率极其高。 例如:1.我们使用不同的系统的时候,可以通过判断系统来对软件包进行安装。2.在nfs和rsync安装过程中,客户端服务器不需要推送配置文件,之前我们都是写多个play,会影响...
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 ...
注册变量 往往用于保存一个task任务的执行结果,以便于debug时使用。或者将此次task任务的结果作为条件,去判断是否去执行其他task任务注册变量在PlayBook中通过register关键字去实现。[root@GYQ-master ~]# cat myplaybook3.yml--- name: install a package and print the result hosts: webservers remote_user: ...
很多时候,某些场景下playbook的结果依赖于变量、fact或者是前一个任务的执行结果,或者有的时候,我们会基于上一个task执行返回的结果而决定如何执行后续的task。这个时候就需要用到条件判断。 条件语句在Ansible中的使用场景: 在目标主机上定义了一个硬限制,比如:目标主机的发行版本必须是RedHat,才能执行该task; ...
在编程的过程经常会看到用if做条件判断,但是在ansible-playbook中用关键字when来做判断,而它的用法也很简单,先看一个小例子 ---hosts:192.168.233.167remote_user:root tasks:-name:yum install nginx yum:name:nginx state:present when:ansible_distribution=="CentOS"-name:apt install nginx apt:name:nginx sta...