摘要: # 管理节点过多导致的超时问题解决方法 默认情况下,Ansible将尝试并行管理playbook中所有的机器。对于滚动更新用例,可以使用serial关键字定义Ansible一次应管理多少主机,还可以将serial关键字指定为百分比,表示每次并行执行的主机数占总数的比例 范例: ```yaml #vi 阅读全文
posted @ 2022-11-22 14:36 yutoujun 阅读(47) 评论(0) 推荐(0) 编辑
摘要: playbook使用when when语句 when语句,可以实现条件测试。如果需要根据变量、facts或此前任务的执行结果来做为某task执行与否的前提时要用到条件测试,通过在task后添加when子句即可使用条件测试,jinja2的语法格式 范例: - hosts: webserver remo 阅读全文
posted @ 2022-11-22 14:35 yutoujun 阅读(94) 评论(0) 推荐(0) 编辑
摘要: template流程控制for和if template中也可以使用流程控制 for 循环和 if 条件判断,实现动态生成文件功能 for 当我们需要创建如下类型的文件时 server{ listen 80 } server{ listen 81 } server{ listen 82 } 可以使用循 阅读全文
posted @ 2022-11-22 14:33 yutoujun 阅读(108) 评论(0) 推荐(0) 编辑
摘要: template template功能:根据模块文件动态生成对应的配置文件 template文件必须存放于templates目录下,且命名为 .j2 结尾 yaml/yml 文件需和templates目录平级,目录结构如下: ./ ├── temnginx.yml └── templates └── 阅读全文
posted @ 2022-11-22 14:31 yutoujun 阅读(17) 评论(0) 推荐(0) 编辑
摘要: template模板 文本文件,嵌套有脚本(使用模板编程语言编写) 借助模板生成真正的文件, Jinja2语言 Jinja2是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker和velocity。 它能完全支持unicode,并具有集成的沙箱执行环境,应 阅读全文
posted @ 2022-11-22 14:29 yutoujun 阅读(67) 评论(0) 推荐(0) 编辑
摘要: playbook变量的使用 变量名:仅能由字母、数字和下划线组成,且只能以字母开头 变量的定义 variable=value 示范 http_port=80 变量的调用方式 通过{{ variable_name }} 调用变量,且变量名前后建议加空格,有时用“{{ variable_name }}” 阅读全文
posted @ 2022-11-22 14:27 yutoujun 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 基本格式 ansible-playbook <filename.yml> ... [options] 常见选项 -C --check #只检测可能会发生的改变,但不真正执行操作 --list-hosts #列出运行任务的主机 --list-tags #列出tag --list-tasks #列出ta 阅读全文
posted @ 2022-11-22 14:24 yutoujun 阅读(15) 评论(0) 推荐(0) 编辑
摘要: playbook核心元素 Hosts 执行的远程主机列表 Tasks 任务集 Variables 内置变量或自定义变量在playbook中调用 Templates 模板,可替换模板文件中的变量并实现一些简单逻辑的文件 Handlers 和 notify 结合使用,由特定条件触发的操作,满足条件方才执 阅读全文
posted @ 2022-11-22 14:21 yutoujun 阅读(38) 评论(0) 推荐(0) 编辑
摘要: list列表 列表由多个元素组成,每个元素放在不同行,且元素前均使用“-”打头,或者将所有元素用 [ ] 括起来放在同一行 范例: # A list of tasty fruits - Apple - Orange - Strawberry - Mango [Apple,Orange,Strawbe 阅读全文
posted @ 2022-11-22 14:20 yutoujun 阅读(173) 评论(0) 推荐(0) 编辑
摘要: playbook 什么是playbook playbook 剧本是由一个或多个“play”组成的列表 play的主要功能在于将预定义的一组主机,装扮成事先通过ansible中的task定义好的角色。Task实际是调用ansible的一个module,将多个play组织在一个playbook中,即可以 阅读全文
posted @ 2022-11-22 14:18 yutoujun 阅读(27) 评论(0) 推荐(0) 编辑