Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 背景介绍
  • 安装
  • 配置说明
  • 基础命令
  • 常用模块
  • Playbook

    • 简单介绍
    • yaml语法
    • hosts
    • task
      • 运行playbook
      • handlers
      • tags
      • variables
      • template
      • when条件判断
      • with_items迭代
      • roles
      • 附:jinja2语法
    • Tool-Ansible
    • Playbook
    Shetengteng
    2022-05-15

    task

    由多个动作,多个任务组合起来的,每个任务都调用的模块,一个模块一个模块执行

    # 概念

    • playbook的主体部分是task list

      • task list中的各任务按次序逐个在hosts中指定的所有主机上执行
      • 在所有主机上完成第一个任务后,再开始第二个任务
    • task的目的:使用指定的参数执行模块

      • 在模块参数中可以使用变量
      • 模块执行是幂等的,多次执行是安全的,其结果均一致
    • 每个task都有name,用于playbook的执行结果输出

      • 建议其内容能清晰地描述任务执行步骤
      • 如果未提供name,则action的结果将用于输出
    • 两种书写格式

      • action: module arguments
      • module: arguments
        • 推荐使用
    • 注意:shell和command模块后面跟命令,而非key=value

    • 某任务的状态在运行后为changed时,可通过"notify"通知给相应的handlers

    • 任务可以通过"tags"打标签,可在ansible-playbook命令上使用-t指定进行调用

    # 示例

    创建一个文件,以及用户,拷贝html文件,启动一个服务

    - hosts: websrvs
      remote_user: root
      
      tasks:
        - name: create new file # 描述
          file: name=/data/newfile state=touch # 模块名: 模块对应的参数
        - name: create new user
          user: name=test2 system=yes shell=/sbin/nologin
        - name: install package
          yum: name=httpd
        - name: copy html
          copy: src=/var/www/html/index.html dest=/var/www/html/
        - name: start service
          service: name=httpd state=started enabled=yes
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    使用 ansible-playbook -C xxx.yml 不执行,检查playbook是否有错

    # 忽略错误

    如果命令或脚本的退出码不为零,可以使用如下方式替代;针对有些命令执行出错了,但是不影响,可以跳过的情况使用

    tasks:
      - name: run this command and ignore the result
        shell: /usr/bin/somecommand || /bin/true
        
    # 或者使用ignore_errors来忽略错误信息
    tasks:
      - name: run this command and ignore the result
        shell: /usr/bin/somecommand
        ignore_errors: True  #忽略错误
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Last Updated: 2022/05/22, 12:42:00
    hosts
    运行playbook

    ← hosts 运行playbook→

    Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式