Play 指令 说明 accelerate 开启加速模式 accelerate_ipv6 是否开启ipv6 accelerate_port 加速模式的端口 always_run   any_errors_fatal 有任务错误时,立即停止 become 是否提权 become_flags 提权命令的参数 become_method 提权得方式 become_user 提权的用户 check_mode 当为True时,只检查,不做修改 connection 连接方式 environment 定义远…
条件判断 When 语句 在when 后面使用Jinja2 表达式,结果为True则执行任务. tasks: - name: "shut down Debian flavored systems" command: /sbin/shutdown -t now when: ansible_os_family == "Debian" 若操作系统是Debian 时就执行关机操作 可以对条件进行分组在比较. tasks: - name: "shut down Ce…
file:获取文件内容 --- - hosts: all vars: contents: "{{ lookup('file', '/etc/foo.txt') }}" tasks: - debug: msg="the value of foo.txt is {{ contents }}" password:生成密码字符串 --- - hosts: all tasks: # 使用只有ascii字母且长度为8的随机密码创建一个mysql用户: - mysql_user:…
Facts 是用来采集目标系统信息的,具体是用setup模块来采集得. 使用setup模块来获取目标系统信息 ansible hostname -m setup 仅显示与ansible相关的内存信息 ansible all -m setup -a 'filter=ansible_*_mb' 常用的变量 ansible_distribution ansible_distribution_release ansible_distribution_version ansible_fqdn ansibl…
一.包含 (include) 使用include模块来包含foo文件 tasks: - include: foo.yml --- foo.yml - name: test foo command: echo foo include 还允许传递变量 - include: wordpress.yml wp_user=timmy - include: wordpress.yml vars: wp_user: timmy ssh_keys: - keys/one.txt - keys/two.txt 动…
debug模块在执行期间打印语句,并且可用于调试变量或表达式,而不必停止playbook. 打印自定义的信息 - debug: msg="System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}" 调试变量 - debug: var=result verbosity=2 playbook 开启debug模式 在2.1中,我们添加了一个调试策略. 此策略使您能够在任务失败时调用调试器. 您可以访问失败任务上下文…
当我们想在满足一个条件下,执行多个任务时,就需要分组了.而不再每个任务都要用when. tasks: - block: - command: echo 1 - shell: echo 2 - raw: echo 3 when: ansible_distribution == 'CentOS' 错误处理 tasks: - block: - debug: msg='i execute normally' - command: /bin/false - debug: msg='i never exec…
(1). 怎么为任务设置环境变量? - name: set environment shell: echo $PATH $SOME >> /tmp/a.txt environment: PATH: "{{ ansible_env.PATH }}:/thingy/bin" SOME: value (2). 不同的用户登录不同的主机? 在主机清单里设置 [webservers`] asdf.example.com ansible_port=5000 ansible_user=a…
playbook是由一个或多个"play"组成的列表.play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲所谓task无非是调用ansible的一个module.将多个play组织在一个playbook中即可以让它们联同起来按事先编排的机制同唱一台大戏. 其主要有以下四部分构成: Target section: 定义将要执行 playbook 的远程主机组 Variable section: 定义 playbook 运行时需要使…
仅仅只是介绍,可以选择跳过 ansible ansible是指令核心部分,其主要用于执行ad-hoc命令,即单条命令.默认后面需要跟主机和选项部分,默认不指定模块时,使用的是command模块. Usage: ansible <host-pattern> [options] 选项: 参数 说明 -a MODULE_ARGS, --args=MODULE_ARGS 模块的参数. --ask-vault-pass vault 密码. -B SECONDS, --background=SECONDS…