ansible 备忘清单(一)

笔者:
    把以前的手写笔记电子化吧,顺便当作复习。

 基础命令

命令

参数

备注

ansible

--version

查看版本号

ansible-doc

--help

查看帮助信息

-l |--list

查看所有模块

-s

查看模块摘要

Ansible servers

-I |--list

指定主机文件配置

-a

指定模块所需要的参数

-m

指定模块

Ansible-inventory

用于管理主机配置文件

-i

指定文件配置

--list

以默认的json格式列出所有主机

--graph

以图形界面输出主机清单

主机清单文件

默认配置文件位于/etc/ansible/hosts

[servers]  #定义一个主机组

192.168.1.1                                        #ip

node01                                               #主机名

192.168.1.2:23333                             #23333为ssh的默认端口

node02:23333                                

192.168.2.[100:200]                           #ip 范围

mst[10:20]                                          #主机名范围

192.168.3.[100:200]:23333                #IP范围内的所有主机,默认ssh口 23333

[t1]

169.254.1.1        http_port=808      

                         #  ~~~~~~~~~~~~~~

                          #   主机内的变量名=变量值

[uat]

node01

node02

[uat:vars]       

ntp-server=ntp1.aliyun.com          # uat组内公用同一个变量

[test]

controlplane env=prod
node01 env=dev    

playbook.yaml基本格式

- name: helloworld                #playbook名称

  hosts: test

  vars:

  gather_facts: True                #收集远程主机facts信息

  become: False                     #是否切换用户

  tasks:

    - name: helloworld  {{ ansible_date_time.iso8601_basic_short }}  

      copy:

         src:   /var/tmp/hello.tar.gz

         dest: /opt/h.tar.gz

    - name: Create the prod_engineer user
      user:
        name: prod_engineer
        comment: Prod engineer 
      when: '"prod" in env'           #只有在主机变量满足时才执行

    - name: Create the dev_engineer user and give admin
      user:
        name: dev_engineer
        comment: Dev engineer
        groups: admin
        generate_ssh_key: yes
        ssh_key_bits: 2048
        ssh_key_file: .ssh/id_rsa
      when: '"dev" in env'    

    - name: get shell result and set a variable

      shell: uptime22     

      failed_when: false                #执行失败时不执行后续的任务

      register: uptime_r     #将运行结果赋值给变量uptime_r

    - name: ping                        #上一个任务失败, 本任务不执行

      shell: ping baidu.com

     

 jinja2 file

run_once: yes                       # 参数表示只运行一次

delegate_to: localhost          #  任务只在ansible本机运行
 

  • for循环

{% for host in ansible_play_hosts_all %}

{{ host }}  #打印变量

{% endfor %}

  • if判断:

{% if 'day' in hostvars[host].uptime.stdout %}
 {{ hostvars[host].ansible_hostname }} - has not rebooted today
{% endif %}

模块清单

忘记了就看ansible-doc -s [模块名]

模块

参数

用途

uri

用于测试到某站点到联通性,并返回结果        

url

需要测试的地址

return_content

是否返回结果(yes)

Dest

下载的文件放在指定的路径

debug

用于答应执行过程中的消息/变量

msg

基础消息

Var

变量 (register中定义的)或者 fasts收到的变量名 {{ ansible_date_time }}

group_by

根据facts (gather_facts中获得)中的某个字段进行分组

key

某个指定的字段

parents

可选,父级所属组

lineinfile

管理txt中的行数据

path

指定的文件

Regex

使用正则选取指定的行 '^var’

Line

替换指定的值

unarchive

用于文件解压

src

指定压缩包

dest

解压的绝对路径

archive

用于文件压缩

dest

生成的压缩包路径

path

要压缩的文件路径或者列表 (绝对路径)

Template

使用j2模版文件,并将特定文件传送到远程目录

src

j2模版文件,文件中可以加入变量

dest        

目的路径

setup

查看远程主机信息

Filter

查看指定的变量eg: ansible_date_time

shell

执行shell脚本,命令用分号; 隔开

ping

测试到主机的联通性

copy

用于文件复制

src

源路径

dest

目的路径

checksum

检查文件的一致性,sha1

file

管理文件&文件属性,可以创建文件夹,调整文件权限等

path

必须, 指定路径

state

touch 创建空文件,若已存在不处理

directory 创建目录,若已存在不处理

file 确保文件存在并具有指定属性

link 创建连接符号 src指定源路径

hard 创建应连接 src指定源路径

absent 删除文件或目录

src

指定源路径,搭配其他参数使用

owner

指定文件所有者

group

指定用户组

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

天津医科大学临床医学院专升本公共事业管理专业卫生事业管理考纲

天津医科大学临床医学院高职升本科专业课考试大纲公共事业管理专业《卫生事业管理学》考试大纲 一、考试基本要求 本考试大纲为公共事业管理专业高职升本科入学考试内容,主要考察学生对卫生事业管理学的基本概念、基本理论以及解决问题的基本方法的掌握程度&#…

SpringBoot 2 集成Spark 3

前提条件: 运行环境&#xff1a;Hadoop 3.* Spark 3.* ,如果还未安装相关环境&#xff0c;请参考&#xff1a; Spark 初始 CentOS 7 安装Hadoop 3 单机版 SpringBoot 2 集成Spark 3 pom.xml <?xml version"1.0" encoding"UTF-8"?> <pro…

2024年深度学习、计算机视觉与大模型面试题综述,六大专题数百道题目

DeepLearning-Interview-Awesome-2024 本项目涵盖了大模型(LLMs)专题、计算机视觉与感知算法专题、深度学习基础与框架专题、自动驾驶、智慧医疗等行业垂域专题、手撕项目代码专题、优异开源资源推荐专题共计6大专题模块。我们将持续整理汇总最新的面试题并详细解析这些题目&a…

9. UVM Test

test位于启动环境组件构建的层次顶部(top of the hierarchical)。它还负责测试平台配置和激励生成过程。根据验证计划中提到的设计特征和功能&#xff0c;编写测试。用户定义的测试类源自uvm_test。 9.1 uvm_test class hierarchy 类声明&#xff1a; virtual class uvm_test …

Sublime Text 4 中文汉化教程(Version: Build 4169)

Sublime Text 4汉化 1 知识小课堂1.1 sublim简介1.2 其他编辑器 2 安装过程2.1 安装Install Package Control2.2 Install Package2.3 安装工具包2.4 常用的插件2.5 安装中文包 1 知识小课堂 1.1 sublim简介 Sublime是一款代码编辑器&#xff0c;致力于为开发人员提供快速、高…

玩客云 青龙面板

一、刷机 需要的工具&#xff0c;镊子&#xff0c;双公头USB&#xff08;可以自己做&#xff09;&#xff0c;U盘 青龙面板全教程 | Anubis的小窝 powersee教程 玩客云导航固件使用说明 安装教程 玩客云乱七八糟的坑 静态IP配置 玩客云第二版固件说明 docker 下载器 …

【MySQL】数据库中为什么使用B+树不用B树

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; 数 据 库 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 B树的特点和应用场景&#xff1a; B树相对于B树的优势&#xff1a; 结论&#xff1a; 结语 我的其他博客 前言 在数据…

GPT-5、开源、更强的ChatGPT!OpenAI公布2024年计划

年终岁尾&#xff0c;正值圣诞节热闹气氛的OpenAI写下了2024年的发展清单。 OpenAI联合创始人兼首席执行官Sam Altman在社交平台公布&#xff0c;AGI&#xff08;稍晚一些&#xff09;、GPT-5、更好的语音模型、更高的费率限制&#xff1b; 更好的GPTs&#xff1b;更好的推理…

CSS 文字弹跳效果

鼠标移过去 会加快速度 <template><div class"bounce"><p class"text" :style"{animationDuration: animationDuration}">欢迎使用UniApp Vue3&#xff01;</p></div> </template><script> export d…

HTML与CSS

目录 1、HTML简介 2、CSS简介 2.1选择器 2.1.1标签选择器 2.1.2类选择器 2.1.3层级选择器(后代选择器) 2.1.4id选择器 2.1.5组选择器 2.1.6伪类选择器 2.2样式属性 2.2.1布局常用样式属性 2.2.2文本常用样式属性 1、HTML简介 超文本标记语言HTML是一种标记语言&…

小白也能轻松上手的ECharts 配置手册

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4e2; …

【赠书第13期】边缘计算系统设计与实践

文章目录 前言 1 硬件架构设计 2 软件框架设计 3 网络结构设计 4 安全性、可扩展性和性能优化 5 推荐图书 6 粉丝福利 前言 边缘计算是一种新兴的计算模式&#xff0c;它将计算资源推向网络边缘&#xff0c;以更好地满足实时性、低延迟和大规模设备连接的需求。边缘计算…

QML —— 键盘输入示例(附完整源码)

示例效果 Keys 所有视觉基本体都支持通过“附加关键帧”属性进行关键帧处理。按键可以通过onPressed和onReleased信号属性进行处理。 信号属性有一个KeyEvent参数&#xff0c;名为event&#xff0c;其中包含事件的详细信息。如果键被处理&#xff0c;则event.accepted应设置为t…

利用STM32和可控硅控制220V加热电路

利用STM32和可控硅控制220V加热电路 Chapter1 利用STM32和可控硅控制220V加热电路一、错误原理图二、正确原理图 Chapter2 可控硅驱动芯片MOC3081/3061Chapter3 一个MOC3061的可控硅触发电路的分析Chapter4 可控硅的两种触发方式&#xff1a;移相触发和过零触发1、过零触发2、移…

ElasticSearch 文档操作

创建文档 PUT /<target>/_doc/<_id> POST /<target>/_doc/ PUT /<target>/_create/<_id> POST /<target>/_create/<_id>删除文档 // 根据 id 删除 DELETE /<index>/_doc/<_id> // 根据查询删除 POST /<target>/…

2023年软件工程师工作总结范文

各位领导&#xff1a; 你们好&#xff01;时光飞逝&#xff0c;光阴似箭&#xff0c;转眼间又到了一年的年末。2023年又是一个不平凡的年&#xff0c;今年是国家十四个五年计划的第三年&#xff0c;是全面贯彻党的二十大精神的开局之年。中国XX集团作为中国XX行业中最大的企…

接口测试及常用接口测试工具(postman/jmeter)附教程

首先&#xff0c;什么是接口呢&#xff1f; 接口一般来说有两种&#xff0c;一种是程序内部的接口&#xff0c;一种是系统对外的接口。 系统对外的接口&#xff1a;比如你要从别的网站或服务器上获取资源或信息&#xff0c;别人肯定不会把数据库共享给你&#xff0c;他只能给…

通过 conda 安装 的 detectron2

从 detectron2官网 发现预编译的版本最高支持 pytorch1.10、cuda11.3。&#xff08;2023-12-26&#xff09; 1、安装 conda 环境。 conda create --name detectron2 python3.8 2、安装 pytorch1.10 和 cuda11.3。 pip3 install torch1.10.0cu113 torchvision0.11.1cu113 torc…

blender使用faceit绑定自己的表情动作

blender使用faceit绑定自己的表情控制模型 faceit是个神器&#xff0c;来记录一下如何让表情动起来保持相对位置头部分离&#xff0c;方便后续绑定faceitfaceit的注册rig生成地标Animate可以修正表情烘培之前记得保存使用Faceit的整个流程 faceit是个神器&#xff0c;来记录一下…

【开源】基于JAVA的创意工坊双创管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 管理员端2.2 Web 端2.3 移动端 三、系统展示四、核心代码4.1 查询项目4.2 移动端新增团队4.3 查询讲座4.4 讲座收藏4.5 小程序登录 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的创意工坊双创管理…