Ansible - playbook 概要

  1. 概述
    1. 简单描述 ansible playbook

1. playbook

  1. 概述
    1. ansible 的 "脚本"
  2. 场景
    1. ansible
      1. 单条命令, 执行一个操作
      2. 问题
        1. 如果执行多个操作, 要怎么办
        2. 如果需要逻辑, 和其他组合, 要怎么办
      3. 解决
        1. ansible-playbook
  3. 一个简单的 playbook
    1. playbook01.yml
    ---
    - hosts: servers
      tasks:
       - name: ping test
         ping:
    1. 解释
      1. 格式
        1. 这个文本, 使用的是 yml 格式
          1. yml 格式本身不难, 但是我目前也不太熟练, 暂时就不讲解
            1. 百度很多, 一搜就出来了
      2. ---
        1. 标志开头
          1. 本身没有实际意义
          2. 如果遇到多个 ansible 脚本, 则可以标记开头, 做分割
      3. hosts: servers
        1. hosts
          1. 必填字段
          2. 目标主机
        2. servers
          1. 准备
            1. 在 inventory 文件里有描述
            2. 或者指定自己的 inventory 文件
      4. tasks
        1. 任务列表
          1. 必填字段
          2. 下面以 数组 的形式包含任务
      5. task: name
        1. 任务名称
          1. 非必填字段
          2. 目的就是注释, 在执行的时候, 会显示
      6. task: ping
        1. 模块名称
          1. ping
          2. 没有参数, 后面就为空
  4. 执行
    1. 命令

      > ansible-playbook -i hosts playbook01.yml
    2. 结果

      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
  5. 后续
    1. 了解 playbook 的多个属性
    2. 尝试 playbook 的其他特性
      1. 操作
      2. 模块化等
      3. 结果的返回
    3. 了解 其他模块
      1. 命令
      2. playbook
    4. 关于 Gathering Facts
      1. 结果里的一项
        1. 目前不知道是干啥的
        2. 大概是收集远端机器的 系统信息, 并放到变量里
          1. 以后可以用
        3. 默认是打开
        4. 可以关闭

          # 在 yml 里添加这个选项即可
          gather_facts:  false
    5. 登录用户
      1. 默认是 root
      2. 有字段可以设置
        # 可以改成别的用户 remote_user: root

ps

  1. ref
    1. learn ansible
    2. Intro to Playbooks
  2. 疑问
    1. yaml 格式
    2. playbook 感觉东西很多
      1. 慢慢来吧

转载于:https://www.cnblogs.com/xy14/p/11573109.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值