- 概述
- 简单描述 ansible playbook
1. playbook
- 概述
- ansible 的 "脚本"
- 场景
- ansible
- 单条命令, 执行一个操作
- 问题
- 如果执行多个操作, 要怎么办
- 如果需要逻辑, 和其他组合, 要怎么办
- 解决
- ansible-playbook
- ansible
- 一个简单的 playbook
- playbook01.yml
---- hosts: servers tasks: - name: ping test ping:
- 解释
- 格式
- 这个文本, 使用的是 yml 格式
- yml 格式本身不难, 但是我目前也不太熟练, 暂时就不讲解
- 百度很多, 一搜就出来了
- yml 格式本身不难, 但是我目前也不太熟练, 暂时就不讲解
- 这个文本, 使用的是 yml 格式
---
- 标志开头
- 本身没有实际意义
- 如果遇到多个 ansible 脚本, 则可以标记开头, 做分割
- 标志开头
- hosts: servers
- hosts
- 必填字段
- 目标主机
- servers
- 准备
- 在 inventory 文件里有描述
- 或者指定自己的 inventory 文件
- 准备
- hosts
- tasks
- 任务列表
- 必填字段
- 下面以 数组 的形式包含任务
- 任务列表
- task: name
- 任务名称
- 非必填字段
- 目的就是注释, 在执行的时候, 会显示
- 任务名称
- task: ping
- 模块名称
- ping
- 没有参数, 后面就为空
- 模块名称
- 格式
- 执行
命令
> ansible-playbook -i hosts playbook01.yml
结果
PLAY [servers] **********************************************************************************************************************TASK [Gathering Facts] **************************************************************************************************************ok: [demo]TASK [ping test] ********************************************************************************************************************ok: [demo]PLAY RECAP **************************************************************************************************************************demo : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- 后续
- 了解 playbook 的多个属性
- 尝试 playbook 的其他特性
- 操作
- 模块化等
- 结果的返回
- 了解 其他模块
- 命令
- playbook
- 关于 Gathering Facts
- 结果里的一项
- 目前不知道是干啥的
- 大概是收集远端机器的 系统信息, 并放到变量里
- 以后可以用
- 默认是打开
可以关闭
# 在 yml 里添加这个选项即可gather_facts: false
- 结果里的一项
- 登录用户
- 默认是 root
- 有字段可以设置
# 可以改成别的用户 remote_user: root
ps
- ref
- learn ansible
- 疑问
- yaml 格式
- playbook 感觉东西很多
- 慢慢来吧