ansible 任务块以及循环

news2024/10/24 16:23:23

任务块

  • 可以通过block关键字,将多个任务组合到一起
  • 可以将整个block任务组,一起控制是否要执行
# 如果webservers组中的主机系统发行版是Rocky,则安装并启动nginx
[root@pubserver ansible]# vim block1.yml
---
- name: block tasks
  hosts: webservers
  tasks:
    - name: define a group of tasks
      block:
        - name: install nginx   # 通过yum安装nginx
          yum:
            name: nginx
            state: present
 
        - name: start nginx     # 通过service启动nginx服务
          service:
            name: nginx
            state: started
            enabled: yes
      when: ansible_distribution=="Rocky"   # 条件为真才会执行上面的任务

rescue和always

lock和rescue、always联合使用:

  • block中的任务都成功,rescue中的任务不执行
  • block中的任务出现失败(failed),rescue中的任务执行
  • block中的任务不管怎么样,always中的任务总是执行

loop循环

  • 相当于shell中for循环
  • ansible中循环用到的变量名是固定的,叫item

role角色

# 创建角色
# 1. 声明角色存放的位置
[root@pubserver ansible]# vim ansible.cfg 
[defaults]
inventory = hosts
roles_path = roles    # 定义角色存在当前目录的roles子目录中
# 2. 创建角色目录
[root@pubserver ansible]# mkdir roles
# 3. 创建名为motd的角色
[root@pubserver ansible]# ansible-galaxy init roles/motd
[root@pubserver ansible]# ls roles/ motd     # 生成了motd角色目录

ansible加解密文件

[root@pubserver ansible]# echo "tedu.cn" > pass.txt
[root@pubserver ansible]# echo "hello wrord" > data.txt
[root@pubserver ansible]# ansible-vault encrypt data.txt --vault-id pass.txt  加密
Encryption successful
[root@pubserver ansible]# ansible-vault decrypt data.txt --vault-id pass.txt   解密

  • 使用ansible管理远程主机,存储敏感数据时(如,文件中包含密码),应该将其加密
  • 执行playbook时,通过--ask-vault-password选项提示输入密码
  • ansible-vault encrypt test02.yml 

  ansible-playbook test02.yml 
   ansible-playbook test02.yml --ask-vault-password
  echo 123 > 123.txt
  ansible-playbook test02.yml --vault-id 123.txt 

sudo命令

特殊的主机清单变量

  • 如果远程主机没有使用免密登陆,如果远程主机ssh不是标准的22端口,可以设置特殊的主机清单变量
  • ansible_ssh_user:指定登陆远程主机的用户名
  • ansible_ssh_pass:指定登陆远程主机的密码
  • ansible_ssh_port:指定登陆远程主机的端口号
 删除远程主机的/root/.ssh/authorized_keys,以便恢复通过密码登陆
# 修改web1 ssh服务的端口为220
[root@web1 ~]# systemctl stop firewalld
[root@web1 ~]# echo 'Port 220' >> /etc/ssh/sshd_config
[root@web1 ~]# systemctl restart sshd
# 退出再登陆时,需要指定端口号
[root@myhost ~]# ssh -p220 192.168.88.11 
# 配置ssh通过用户名、密码管理远程主机,通过220端口连接web1
[root@pubserver myansible]# vim inventory 
[group1]
web1 ansible_ssh_user=root ansible_ssh_pass=a ansible_ssh_port=220
web2 ansible_ssh_user=root ansible_ssh_pass=a
db1 ansible_ssh_user=root ansible_ssh_pass=a

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1842800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS 5(CentOS 6、Redhat 6)服务器配置VNC

一、配置服务器yum源 yum源(本地、华为云、阿里云、网易) 二、使用yum安装vnc服务 1、检查系统是否安装了vnc 和 vncserver, rpm -qa | grep vnc如果没有安装那就行自行下载安装(我这里用yum安装了,vncserver安装需…

【嵌入式DIY实例】-Nokia 5110显示DS3231 RTC数据

Nokia 5110显示DS3231 RTC数据 文章目录 Nokia 5110显示DS3231 RTC数据1、硬件准备与接线2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 板和 DS3231 RTC 模块制作一个简单的数字实时时钟,其中可以使用连接到 NodeMCU 的两个按钮设置时间和日期,并将它们打印在诺基亚 5110 …

Qt/C++ 序列化(protobuf方式)

一、序列化介绍 序列化是将需要的内存对象转换为字节流或者其他数据格式的过程,以便保存到文件或者传输。反序列化则是将数据还原到内存对象。 序列化后存档格式有二进制数据、XML或JSON文件等。可以按照自己的需求进行序列化。 二、protobuf介绍 Protocal Buffe…

妙手ERP上线Shopee全托管产品编辑、批量发布功能,助力卖家高效上货!

全托管模式在2023年的跨境电商领域可谓是一股热潮,不论卖家还是平台都入局全托管。东南亚头部电商平台Shopee也在2023年7月推出全托管模式,虽然Shopee全托管模式推的时间较晚,但也不妨碍它带着卖家直接起飞! 根据Shopee官方公开的…

搜维尔科技:「案例」NBA新科冠军与Xsens运动捕捉的缘分

北京时间昨日,凯尔特人在主场106比88击败独行侠,以总比分4比1获胜,夺得队史第18冠,超越湖人队(17冠)成为历史上夺冠次数最多的球队。凯尔特人队上一次夺冠还是在2007-2008赛季。 凯尔特人队主力Jayson Tat…

收银系统源码推荐,线下线上一体化收银系统

1.收银系统源码开发语言 核心开发语言: PHP、HTML5、Dart后台接口: PHP7.3后台管理网站: HTML5vue2.0element-uicssjs收银端【安卓/PC收银】: Dart3,框架:Flutter 3.11.0-6.0.pre.27商家小程序助手端: uniapp线上商城: uniapp 2.功能介绍 支持测试体验…

生成式AI时代,数据存储管理与成本如何不失控?

无数据,不AI。 由生成式AI掀起的这一次人工智能浪潮,对企业的产品、服务乃至商业模式都有着颠覆性的影响。因此,在多云、大数据、生成式AI等多元技术的驱动下,数据要素变得愈发重要的同时,企业对于数据存储的需求也在…

windows系统停止更新办法

windows系统停止更新 双击启动下载的文件 然后再回到系统-更新这里,选择日期就行。

万元主力机型该选什么固态硬盘,佰维NV7200、NV3500 的实用一定要让你知道

固态硬盘:变革存储技术,探索无尽可能 今年的固态市场价格一直是稳中上涨。 固态的价格上涨有技术上的因素,也有人工成本上的因素。好在国产固态技术的崛起,在固态价格上涨之下,依旧能选购到性价比和性能出众的型号。…

FFmpeg+SDL2实现音视频播放器项目

一、FFmpeg视频解码器 1.视频解码知识 1).纯净的视频解码流程 压缩编码数据->像素数据。 例如解码H.264,就是“H.264码流->YUV”。 2).一般的视频解码流程 视频码流一般存储在一定的封装格式(例如MP4、AVI等)中。封装格式中通常还…

SAP赋能食品行业,确保安全与品质的双重飞跃

品安全与品质是消费者最关心的问题,也是食品企业的生命线。随着科技的发展和消费者需求的日益多样化,食品行业正面临着前所未有的挑战和机遇。SAP作为全球领先的企业资源规划(ERP)系统,为食品行业提供了全面的解决方案…

银河麒麟4.0.2安装带有opengl的Qt5.12.9

银河麒麟4.0.2下载地址:银河麒麟-银河麒麟(云桌面系统)-银河麒麟最新版下载v4.0.2-92下载站 VirtualBox:https://www.virtualbox.org/wiki/Downloads qt下载:Index of /archive/qt/5.12/5.12.9 1安装VirtualBox:网上教材比较多 1)安装完后安…

Android14 开发之Broadcast延迟及Service常驻等新特性说明

Android14 开发之Broadcast延迟及Service常驻等新特性说明 Broadcast延迟问题 FLAG_RECEIVER_FOREGROUND 是 Android 中的一种标志,它用于将广播接收器(BroadcastReceiver)标记为前台广播。前台广播具有较高的优先级,系统会尽快…

T200HSA单路SDI/HDMI+1路3.5音频高清万能采集卡

产品简介: 同三维T200HSA单路高清万能采集卡,可以采集1路SDI/HDMI高清信号1路3.5音频信号,卡上有1个是HDMI接口1个是SDI接口1个3.5音频口,配件有: 1个小档板,PCI-E2.0 X1,分辨率最高可以达到10…

Sklearn之朴素贝叶斯应用

目录 sklearn中的贝叶斯分类器 前言 1 分类器介绍 2 高斯朴素贝叶斯GaussianNB 2.1 认识高斯朴素贝叶斯 2.2 高斯朴素贝叶斯建模案例 2.3 高斯朴素贝叶斯擅长的数据集 2.3.1 三种数据集介绍 2.3.2 构建三种数据 2.3.3 数据标准化 2.3.4 朴素贝叶斯处理数据 2.4 高斯…

Linux下手动修改服务器时间(没网环境下)

在客户服务器上更新程序时,发现服务器时间不对,现在应该是下午13:44:00,但服务器却显示为:21:40:53,所有是不对的。 date解决办法: 1、由于服务器是没有网的,只能手动设置时间,输入…

如何使用k8s安装nexus3呢

百度云盘地址 链接:https://pan.baidu.com/s/1YN1qc2RvzTU3Ba6L_zCTdg?pwd5z1i 提取码:5z1i 下载后上传到本地服务器 docker load -i nexus3 创建 nexus-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nexus3-deployment spec…

2024年华为最新笔试预约流程,超详细!内附操作流程!

未注册过华为账号步骤如下 约考试或者查询考点网址:https://www.pearsonvue.com.cn/Clients/huawei.aspx 1-1进入网站后先点【登录】 1-2点击【立即注册】 1-3(手机注册方式) 填写手机号、接收验证码、设置登录密码后勾选同意两个声明 (邮箱注册方式) 填写…

易保全远程视频公证:打破传统,创新公证服务新模式

在数字化浪潮的冲击下,公证行业也在经历着深刻的变革。传统公证方式在满足人们日益增长的公证需求时,逐渐显露出一些问题与困扰。与此同时,远程视频公证作为一种创新模式,正展现出强大的发展趋势和显著的优势。 近年来&#xff0…

建筑主体沉降观测规范详解

随着城市化进程的加速,高层建筑和大型建筑项目日益增多,建筑主体的沉降观测工作显得尤为重要。沉降观测是确保建筑安全稳定的关键环节,对于预防建筑安全事故、保障人民生命财产安全具有重要意义。本文将详细解析建筑主体沉降观测的规范和要求…