摘要:
一、SSH Multiplexing 1 配置 2 测试 测试速度 1 开启SSH长连接 ansible是通过使用ssh和远程主机进行通信,所以对ssh有这很强的依赖。在OpenSSH 5.6以后支持Multiplexing这个特性,可以通过在ansible配置中设置以支持该特性。 如下是配置参数, 阅读全文
摘要:
(1). 怎么为任务设置环境变量? - name: set environment shell: echo $PATH $SOME >> /tmp/a.txt environment: PATH: "{{ ansible_env.PATH }}:/thingy/bin" SOME: value (2 阅读全文
摘要:
Play 指令说明 accelerate 开启加速模式 accelerate_ipv6 是否开启ipv6 accelerate_port 加速模式的端口 always_run any_errors_fatal 有任务错误时,立即停止 become 是否提权 become_flags 提权命令的参数 阅读全文
摘要:
异步操作和轮询 # Requires ansible 1.8+ - name: 'YUM - fire and forget task' yum: name=docker-io state=installed async: 1000 poll: 0 register: yum_sleeper - n 阅读全文
摘要:
file:获取文件内容 - hosts: all vars: contents: "{{ lookup('file', '/etc/foo.txt') }}" tasks: - debug: msg="the value of foo.txt is {{ contents }}" password: 阅读全文
摘要:
debug模块在执行期间打印语句,并且可用于调试变量或表达式,而不必停止playbook。 打印自定义的信息 - debug: msg="System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}" 调试变量 - debug 阅读全文
摘要:
当我们想在满足一个条件下,执行多个任务时,就需要分组了。而不再每个任务都要用when。 tasks: - block: - command: echo 1 - shell: echo 2 - raw: echo 3 when: ansible_distribution == 'CentOS' 错误处 阅读全文
摘要:
条件判断 When 语句 在when 后面使用Jinja2 表达式,结果为True则执行任务。 tasks: - name: "shut down Debian flavored systems" command: /sbin/shutdown -t now when: ansible_os_fam 阅读全文
摘要:
用于playbook中的jinja 2过滤器 更改数据格式,其结果是字符串 {{ some_variable | to_json }} {{ some_variable | to_yaml }} 对于人类可读的输出 {{ some_variable | to_nice_json }} {{ some 阅读全文
摘要:
Facts 是用来采集目标系统信息的,具体是用setup模块来采集得。 使用setup模块来获取目标系统信息 仅显示与ansible相关的内存信息 常用的变量 ansible_distribution ansible_distribution_release ansible_distribution 阅读全文
摘要:
变量名约束 变量名称应为字母,数字和下划线。 变量应始终以字母开头。 变量名不应与python属性和方法名冲突。 变量使用 通过命令行传递变量(extra vars) ansible-playbook release.yml -e "user=starbuck" 在 inventory 中定义变量( 阅读全文
摘要:
一、包含 (include) 使用include模块来包含foo文件 include 还允许传递变量 动态包含 循环引用3次 还可以使用动态变量引入task文件 动态包含的一些限制 • 您不能使用notify触发来自动态包含的处理程序名称。 • 您不能使用--start-at-task在动态包含内的 阅读全文
摘要:
Ansible实战:部署分布式日志系统 本节内容: 背景 分布式日志系统架构图 创建和使用roles JDK 7 role JDK 8 role Zookeeper role Kafka role Elasticsearch role MySQL role Nginx role Redis role 阅读全文
摘要:
一、什么场景下会用roles? 假如我们现在有3个被管理主机,第一个要配置成httpd,第二个要配置成php服务器,第三个要配置成MySQL服务器。我们如何来定义playbook? 第一个play用到第一个主机上,用来构建httpd,第二个play用到第二个主机上,用来构建php,第三个play用到 阅读全文
摘要:
一、Ansible条件测试 在ansible中还可以进行条件测试。如果需要根据变量、facts或此前任务的执行结果来做为某task执行与否的前提时要用到条件测试。 1. when语句 在task后添加when子句即可使用条件测试:when语句支持Jinja2表达式语法。例如: when语句还可以使用 阅读全文
摘要:
本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一、ansible playbook介绍 playbook是由一个或多个“play”组成的列表(剧本是由多出戏组成的)。play的主要功能在于将事先归并为一组的主机装扮成事先通过a 阅读全文
摘要:
Ansible的基础元素和YAML介绍 本节内容: YAML Ansible常用的数据类型 Ansible基础元素 一、YAML 1. YAML介绍 YAML是一个可读性高的用来表达资料序列的格式。YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822 阅读全文
摘要:
本节内容: ansible命令基础 常见模块举例 一、ansible命令基础 语法: host-pattern:这次的命令对哪些主机生效; -f forks:启动的并发线程数,就是一次并行处理多少主机; -m module_name:要使用的模块; -a args:模块特有的参数。 常见的模块: u 阅读全文
摘要:
本节内容: 运维工具 Ansible特性 Ansible架构图和核心组件 安装Ansible 演示使用示例 一、运维工具 作为一个Linux运维人员,需要了解大量的运维工具,并熟知这些工具的差异,能够熟练运用这些工具去解决一些手动重复的劳动,一方面是避免人工操作失误,另一方面也可以提高工作效率。同时 阅读全文