首页 > 其他分享 >play高级用法

play高级用法

时间:2024-08-02 14:40:42浏览次数:6  
标签:play task name 错误 高级 用法 ssh loop

play高级用法

控制并发更新主机的数量

# 指定具体数字
---
- name: test1 serial
  hosts: all
  serial: 2               # 每次同时处理2个主机
  max_fail_percentage: 50 # 当两台机器中一台执行失败,既终止task
  
  
或者

#也可以使用百分比进行控制
---
-  name: test2 serail
   hosts: all
   serial: "20%"   #每次只同时处理20%的主机

loop循环

loop循环创建用户,ansible引用变量是“{{ 变量名 }}”,loop的默认变量名是item
cat users.yml
---
- name: 批量创建用户
  hosts: node1
  tasks:
    - name: 创建用户task
      user:
        name: "{{ item }}"
        state: present
      loop:
        - testuser1
        - testuser2

ansible错误控制

# 结果有3种,ok(无变化)  changed(有变化)  failed(失败)
1.task控制的条件判断错误控制
when -> skip
changed_when -> changed/ok
failed_when -> failed

2.网络相关的错误
unreachable,一般和ssh端口,ssh密码,ssh免密,sudo提权配置等等网络和ssh服务配置相关的部分

3.task的错误忽略
ignore_errors -> ignored,忽略预期的错误,我们可能预料到task的位置会出现错误,所以我们为了让执行这
个task的节点可以继续运行下去,我们需要对task设置错误忽略

4.错误控制结合使用的内容
register变量
facts变量
magic变量
debug模块

5.错误控制里面有个错误控制三件套
block: 定义一组运行的task
rescue: 如果block里面的task运行失败了,将会使用rescue部分定义的task进行回滚(roll out)
always: 不管block和rescue运行的结果如何,都会执行。

ansible-handers

# play层面设置force_handlers: yes
# 防止handlers遇到palybook执行错误,不执行hanlers,(因为handlers默认等所有任务执行完成并成功后才执行)

标签:play,task,name,错误,高级,用法,ssh,loop
From: https://www.cnblogs.com/kkit/p/18338712

相关文章

  • MQ高级
    消息的可靠性:一个消息发送出去以后至少被消费一次丢失场景:消息发送时候丢失,mq崩了消息丢失,消费者把消息搞丢了(交易服务) 解决方法针对以上三个场景和兜底方案 1、发送者可靠性消息从生产者到消费者的每一步都可能导致消息丢失:-发送消息时丢失:-生产者发送消息时连接MQ......
  • 从表演基础到LLM Roleplay的动作描写
    最近在阅读表演基础的教程时,发现其实是可以迁移到角色扮演的描述上的形体语言什么是形体语言?这是我们首先要解决的问题.人类常常不会不自觉的运用身体部位,并通过这些部位的姿态来表达情感.常见的部位有:面部:皱眉手部:握拳,摊开,合拢,手指肩部:用肩部轻触,耸......
  • 从表演基础到LLM Roleplay的动作描写
    最近在阅读表演基础的教程时,发现其实是可以迁移到角色扮演的描述上的形体语言什么是形体语言?这是我们首先要解决的问题.人类常常不会不自觉的运用身体部位,并通过这些部位的姿态来表达情感.常见的部位有:面部:皱眉手部:握拳,摊开,合拢,手指肩部:用肩部轻触,耸......
  • C高级(3):shell脚本
    目录1shell的基础概念:1.1概念1.2创建和执行2变量2.1用户自定义变量2.2位置变量2.3预定义变量2.4环境变量3功能语句3.1说明性语句3.2功能性语句1)read2)expr3)let4结构性语句4.1if语句4.2case语句4.3for循环4.4while4.5循环控制语句1shell的基础概念:1.1概......
  • C高级(2)linux命令
    目录1系统维护命令1.1man1.2su1.3sudo1.4df命令1.5mount命令2用户管理命令3进程管理命令3.1ps3.2top3.3修改优先级3.4grep命令3.5kill命令3.6前后台切换命令4网络管理命令4.1命令5文件系统管理命令5.1文件系统分类5.2根文件系统结构5.3文件内容显示5.4链......
  • Hive学习第九天--函数的用法
    1.1 Hive窗口函数普通的聚合函数每组(Groupby)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。开窗函数一般就是说的是over()函数,其窗口是由一个OVER子句定义的多行记录开窗函数一般分为两......
  • 嵌入式软件--C语言高级 DAY 8 函数
    函数是C语言尤为重要的知识点,再嵌入式的学习过程中,对51和32的单片机的学习是重中之重。一、函数的基本概念1.介绍函数是一种可重复使用的代码块,用于执行特定的任务或操作。函数允许我们将代码逻辑组织成独立的单元,从而提高了代码的可读性、可维护性和重用性。一个C程序可......
  • 数据库教程:从基础操作到高级应用
    数据库教程:从基础操作到高级应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!数据库是现代软件开发的核心组成部分之一。掌握数据库的基础操作以及高级应用技术对于开发人员而言至关重要。本文将从基础操作开始,逐步深入到数据库的高级应用,包括SQL语句......
  • Java多线程编程详解:从基础到高级
    Java多线程编程详解:从基础到高级大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!Java的多线程编程允许程序同时执行多个任务,提高了应用的性能和响应能力。本文将从基础到高级,全面介绍Java中的多线程编程,包括线程的创建、线程池、同步机制及并发工具的使用......
  • MySQL高级——MySQL的储存过程
    目录一、什么是储存过程 二、变量定义2.1局部变量2.2用户变量(会话变量) 2.3系统变量 2.3.1全局变量2.3.2会话变量三、定义参数四、分支流程4.1if判断4.2case分支  五、循环流程5.1循环-while5.2循环-repeat 5.3循环-loop 六、游标 七、异常......