Ansible语法与模块

目录

如何查询帮助

核心模块

社区和特定平台模块

其他常用模块

语法总结

Ansible 命令行工具

1. ansible

2. ansible-playbook

3. ansible-vault

4. ansible-galaxy

5.ansible-doc

6.ansible-config

7.ansible-pull

8.ansible-console


如何查询帮助

ansible-doc -l                            #获取全部模块的信息
ansible-doc -s MOD_NAME     #获取指定模块的使用帮助
查看官⽹: Ansible中文权威指南 — 国内最专业的Ansible中文官方学习手册

核心模块

模块类别常见模块用途描述
命令与脚本command执行指定的命令, 不经过Shell
shell在Shell中执行命令
raw执行一段不经过处理的命令
script将本地脚本上传到远程并执行
文件操作copy将文件从控制节点复制到目标节点
fetch将文件从远程节点复制到控制节点
file管理文件的属性(权限、创建/删除等)
template渲染Jinja2模板并复制到远程主机
用户与权限user管理用户账号
group管理用户组
数据库操作mysql_db管理MySQL数据库
mysql_user管理MySQL用户
云服务ec2管理AWS EC2实例
azure_rm管理Azure资源
软件管理yum使用YUM包管理器安装/卸载软件
apt使用APT包管理器安装/卸载软件
网络操作uri与Web服务进行交互
get_url从指定URL下载文件
firewalld管理firewalld防火墙服务

社区和特定平台模块

模块类别常见模块用途描述
网格管理docker管理Docker容器
k8s管理Kubernetes资源
openstack管理OpenStack资源
云服务gcp管理Google Cloud Platform资源
监控与告警nagios管理Nagios监控系统
zabbix管理Zabbix监控系统
配置管理consul_kv管理Consul键值存储
etcd3管理Etcd V3键值存储

其他常用模块

模块类别常见模块用途描述
系统服务service管理系统服务(启动/停止/重启)
systemd管理Systemd服务
磁盘与文件系统mount挂载和卸载文件系统
lvol管理逻辑卷
时间与任务计划cron管理cron定时任务
at管理at定时任务

上述表格涵盖了Ansible的一些常用模块及其用途。当然,Ansible的模块远不仅限于这些,实际使用中可以根据需要查阅Ansible官方文档以获取更多详细信息。

语法总结

Ansible 命令行工具

1. ansible

用于在单个任务上测试和运行命令,通常用于快速验证或简单操作。

语法:

ansible <主机组> -m <模块> -a "<模块参数>" [选项]

示例:

# 在所有主机上执行 ping 模块,验证连接是否正常
ansible all -m ping# 在 webservers 组上的所有主机上执行命令,查看 /etc 目录内容
ansible webservers -m command -a "ls /etc"

常用选项

-a MODULE_ARGS  模块的参数,如果执行默认COMMAND的模块,即是命令参数,如: “date”,“pwd”等等

-k--ask-pass  ask for SSH password。登录密码,提示输入SSH密码而不是假设基于密钥的验证

--ask-su-pass  ask for su password。su切换密码

-K--ask-sudo-pass  ask for sudo password。提示密码使用sudo,sudo表示提权操作

--ask-vault-pass  ask for vault password。假设我们设定了加密的密码,则用该选项进行访问

-B SECONDS  后台运行超时时间

-C  模拟运行环境并进行预运行,可以进行查错测试

-c CONNECTION  连接类型使用

-f FORKS  并行任务数,默认为5

-i INVENTORY  指定主机清单的路径,默认为/etc/ansible/hosts

--list-hosts  查看有哪些主机

-m MODULE_NAME  执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数

-o  压缩输出,尝试将所有结果在一行输出,一般针对收集工具使用

-s  用 sudo 命令

-U SUDO_USER  指定 sudo 到哪个用户,默认为 root 用户

-T TIMEOUT  指定 ssh 默认超时时间,默认为10s,也可在配置文件中修改

-u REMOTE_USER  远程用户,默认为 root 用户

-v  查看详细信息,同时支持-vvv-vvvv可查看更详细信息

2. ansible-playbook

用于运行一个或多个 Playbooks。

语法:

ansible-playbook <playbook 文件> [选项]

示例:

# 执行 site.yml playbook
ansible-playbook site.yml# 执行 playbook 并指定库存文件和限单主机
ansible-playbook -i inventory/production site.yml --limit webservers

常用选项

  • -i <库存文件>:指定主机清单文件。
  • --private-key <密钥文件>:指定 SSH 密钥。
  • -u <用户名>:指定远程主机的用户。
  • --ask-become-pass:提示输入 sudo 密码。
  • --tags <标签>:只运行带有指定标签的任务。
  • --skip-tags <标签>:跳过带有指定标签的任务。
  • --check:进行干运行(Dry Run),不实际执行任务。

3. ansible-vault

用于加密/解密敏感信息,例如密码。

语法:

# 创建新的加密文件
ansible-vault create <文件># 编辑加密文件
ansible-vault edit <文件># 查看加密文件内容
ansible-vault view <文件># 加密现有文件
ansible-vault encrypt <文件># 解密文件
ansible-vault decrypt <文件>

示例:

# 创建一个新的加密文件
ansible-vault create secrets.yml# 解密文件
ansible-vault decrypt secrets.yml# 编辑加密文件
ansible-vault edit secrets.yml

4. ansible-galaxy

用于管理 Ansible 角色。可以从 Ansible Galaxy 下载安装共享的角色。

语法:

ansible-galaxy <子命令> [选项]

常用子命令和示例:

  • install:安装角色
  ansible-galaxy install <角色名>
  • remove:删除角色
  ansible-galaxy remove <角色名>
  • list:列出已安装的角色
  ansible-galaxy list

示例:

# 安装一个名为 geerlingguy.nginx 的角色
ansible-galaxy install geerlingguy.nginx# 列出已安装的角色
ansible-galaxy list

5.ansible-doc

查看 Ansible 模块的文档。例如:

ansible-doc <模块名>

6.ansible-config

用于查看和设置 Ansible 配置选项。例如:

ansible-config view

7.ansible-pull

允许从源代码管理系统中拉取 Ansible Playbook 并在目标主机上执行。例如:

ansible-pull -U <仓库URL> <playbook.yml>

8.ansible-console

提供交互式 Shell,用于在远程主机上执行任务。例如:

ansible-console <主机模式>

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

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

相关文章

什么叫防御式编程

防御式编程是一种编程策略&#xff0c;主要目的是提高代码的健壮性和可靠性。它假设任何错误都可能发生&#xff0c;并且在设计和编写代码时采取预防措施以防止这些错误导致程序崩溃或产生错误结果。 以下是一些防御式编程的常见实践&#xff1a; 输入验证&#xff1a;总是验证…

2024Stable Diffusion WebUI详细使用指南

Stable Diffusion WebUI&#xff08;AUTOMATIC1111&#xff0c;简称A1111&#xff09;是一个为高级用户设计的图形用户界面&#xff08;GUI&#xff09;&#xff0c;它提供了丰富的功能和灵活性&#xff0c;以满足复杂和高级的图像生成需求。由于其强大的功能和社区的活跃参与&…

22 - 游戏玩法分析 IV(高频 SQL 50 题基础版)

22 - 游戏玩法分析 IV 考点&#xff1a; 聚合函数 # 日期相加 date_add(min(event_date),INTERVAL 1 DAY) select round(count(distinct player_id)/(select count(distinct player_id) from Activity),2) fraction fromActivity where-- 如果日期加一天的数据能在表中…

pytorch笔记:自动混合精度(AMP)

1 理论部分 1.1 FP16 VS FP32 FP32具有八个指数位和23个小数位&#xff0c;而FP16具有五个指数位和十个小数位Tensor内核支持混合精度数学&#xff0c;即输入为半精度&#xff08;FP16&#xff09;&#xff0c;输出为全精度&#xff08;FP32&#xff09; 1.1.1 使用FP16的优缺…

MySQL主从同步优化指南:架构、瓶颈与解决方案

前言 ​ 在现代数据库架构中&#xff0c;MySQL 主从同步是实现高可用性和负载均衡的关键技术。本文将深入探讨主从同步的架构、延迟原因以及优化策略&#xff0c;并提供专业的监控建议。 MySQL 主从同步架构 ​ 主从复制流程&#xff1a; 从库生成两个线程&#xff0c;一个…

20 - 每月交易 I(高频 SQL 50 题基础版)

20 - 每月交易 I -- 考点&#xff1a;日期转换格式 -- date_format(trans_date,%Y-%m)select date_format(trans_date,%Y-%m) month,country,count(*) trans_count,sum(if(stateapproved,1,0)) approved_count,sum(amount) trans_total_amount,sum(if(state"approved&qu…

【主题广泛|稳定检索】2024年食品安全与生物技术国际会议(ICFSB 2024)

2024年食品安全与生物技术国际会议&#xff08;ICFSB 2024&#xff09; 2024 International Conference on Food Safety and Biotechnology 【重要信息】 大会地点&#xff1a;贵阳 大会官网&#xff1a;http://www.icicfsb.com 投稿邮箱&#xff1a;icicfsbsub-conf.com 【注…

语言大模型qwen1.5全流程解析:微调,量化与推理

在前一篇文章中&#xff0c;主要使用llama-factory封装的推理模块对速度进行了测试&#xff0c;vllm速度快些&#xff0c;但仍没有传说中的快3-5倍&#xff0c;需要单独测试。这里使用qwen1.5-1.8B作为测试模型。 qwen1.5是qwen2的先行版&#xff0c;24年2月发布&#xff0c;与…

this,apply,call,bind 超详细合集

前言 之前在学习this关键字的时候&#xff0c;其实一直都是懵懵懂懂。知道答案但是不知道所以。一直想知道为什么是这样&#xff1f;为什么this默认指向全局呢&#xff1f;今天忽然释然了&#xff0c;我又不是开发这门语言的人&#xff0c;我为什么要纠结这些。那今天就来讲讲…

Apache Doris 2.0.11 版本正式发布

亲爱的社区小伙伴们&#xff0c;Apache Doris 2.0.11 版本已于 2024 年 6 月 5 日正式与大家见面&#xff0c;该版本提交了 123 个改进项以及问题修复&#xff0c;进一步提升了系统的性能及稳定性&#xff0c;欢迎大家下载体验。 官网下载&#xff1a; https://doris.apache.o…

jenkins插件之Jdepend

JDepend插件是一个为构建生成JDepend报告的插件。 安装插件 JDepend Dashboard -->> 系统管理 -->> 插件管理 -->> Available plugins 搜索 Jdepend, 点击安装构建步骤新增执行shell #执行pdepend if docker exec phpfpm82 /tmp/composer/vendor/bin/pdepe…

ComfyUI工作流分享-黏土特效工作流

大家给的教程都是苹果端使用Remini的软件制作&#xff0c;免费白嫖7天&#xff0c;7天后就要收费&#xff0c;作为ComfyUI技术党&#xff0c;当然是选择自己实现了&#xff0c;搭建一套工作流就搞定&#xff0c;这不&#xff0c;今天就来分享一套对应的黏土效果工作流&#xff…

使用Python实现GLM解码器的示例(带有Tensor Shape标注)

ByteDance的“Glancing Transformer”&#xff08;GLAT&#xff09;是一种用于无自回归神经机器翻译&#xff08;NAT&#xff09;的创新模型。该模型通过一种称为“glancing sampling”的策略&#xff0c;显著提高了翻译的质量和效率。 GLAT 的主要特性 Glancing Sampling 机制…

TSINGSEE青犀视频:城市道路积水智能监管,智慧城市的守护者

随着城市化进程的加快&#xff0c;城市道路网络日益复杂&#xff0c;尤其在夏季&#xff0c;由于暴雨频发&#xff0c;道路积水问题成为影响城市交通和市民生活的重要因素之一。传统的道路积水监测方式往往依赖于人工巡逻和简单的监控设备&#xff0c;这些方法存在效率低下、响…

数据中台案例04-广西壮族自治区自然灾害应急能力提升工程预警指挥项目—数据治理系统和现场应急感知技术装备采购需求

数据底座数据汇聚融合能力提升数据汇聚融合工具数据接入工具API数据接入组件、实时数据接入组件、空间数据接入组件、数据库接入组件、文件接入组件、数据接入概览组件、批量作业、数据连接管理组件、数据接入任务管理组件、数据接入监控组件数据处理工具数据转换、数据去重、数…

CAN总线学习笔记-CAN帧结构

数据帧 数据帧&#xff1a;发送设备主动发送数据&#xff08;广播式&#xff09; 标准格式的11ID不够用了&#xff0c;由此产生了扩展格式 SOF&#xff1a;帧起始&#xff0c;表示后面一段波形为传输的数据位 ID&#xff1a;标识符&#xff0c;区分功能&#xff0c;同时决定优…

先进制造aps专题十一 国内软件/erp行业的现状及对aps行业的启示

看到一个帖子 中国软件行业几乎全军覆没 OSC开源社区 2024-06-03 15:58 广东 刚刚网上冲浪刷到的 网友锐评&#xff1a;都是客户关系型公司。 知名大 V 「Fenng」评论称&#xff1a; 这里所谓的软件行业公司如果立刻倒闭&#xff0c;才能够利好中国整个行业软件生态。有个网…

巨详细Linux安装Nacos教程

巨详细Linux安装Nacos教程 1、检查是否有残留nacos版本2、上传安装包至服务器2.1安装包获取2.2创建相关目录 3、安装Nacos4、配置Nacos4.1修改数据源4.2新建nacos数据库4.3启动nacos4.4把nacos进程交给systemctl管理4.5设置nacos开机自启动 1、检查是否有残留nacos版本 rpm -q…

【ArcGIS微课1000例】0118:一文讲清楚tif(geotiff)栅格数据格式

文章目录 一、Tiff概述二、GeoTiff概述1. ovr文件2. tfw文件3. xml文件4. dbf文件一、Tiff概述 TIFF(Tagged Image File Format)是一种常见的图像文件格式,它被广泛用于存储和传输各种类型的图像数据。下面是对TIFF格式数据的介绍: 图像存储:TIFF格式可以存储多通道的位…

DB2问题解决:SQL0270N Function not supported (Reason code = “100“). SQLSTATE=42997

在执行修改表结构sql语句过程中&#xff0c;报错&#xff1a;SQL0270N Function not supported (Reason code "100"). SQLSTATE42997 。这个错误通常与表的 DATA CAPTURE 设置有关。如果某些表的 DATA CAPTURE 设置为 CHANGES&#xff0c;则某些表结构修改操作可能不…