掌握Ansible命令——提高自动化运维效率

目录

一、Ansible命令

1.定义

2.组成

 3.命令格式

4.选项

5.示例

二、常用命令解释

1.ansible-doc

2.ansible-galaxy

3.ansible-playbook

4.ansible-pull

5.ansible-vault

三、高频使用的命令

1.Ping主机

2.执行命令

3.安装软件包

4.管理文件

5.管理服务

6.获取主机信息

7.执行自定义脚本

8.以sudo权限执行命令


在当今的IT自动化领域,Ansible无疑是一个无法被忽视的重要角色。其便利性和高效性受到了广大开发者和系统管理员的一致好评,成为了配置管理和应用部署的首选工具。

一、Ansible命令

1.定义

Ansible 命令是一种强大的自动化工具,它允许系统管理员和开发者在多台机器上自动执行任务。其中,Ad-Hot模式是一个概念性的名称,它与编写Ansible playbook的概念相似,类似于直接在命令行输入shell命令与编写shell scripts之间的关联。

2.组成

  • Ansible 匹配的资产主机:这是你希望在其上执行任务的目标机器或一组机器。
  • 使用的模块 -m:这是你希望执行的具体动作或任务,Ansible提供了许多预定义的模块以供选择。
  • 模块的参数 -a:这允许你为特定模块传递参数,以便进一步定制其行为。

 3.命令格式

ansible [pattern] -m [module] -a '[module arguments]' [options]



[pattern]:用来匹配目标主机或主机组的模式。

-m [module]:指定要使用的模块。

-a '[module arguments]':指定模块的参数。

[options]:其他可选参数。

4.选项

命令选项含义
-a 'Arguments', --args='Arguments'指定模块的参数。
-m NAME, --module-name=NAME指定要执行的模块名。默认使用 command 模块,所以如果只是执行单一命令,可以省略 -m 参数。
-u Username, --user=Username指定执行远程命令的用户,默认使用当前用户。
-U, --sudo-user=SUDO_Usersudo 到哪个用户,默认为 root。
-k, --ask-pass提示输入 SSH 密码,而不是假设基于密钥的验证。
-K, --ask-sudo-pass提示输入 sudo 密码。
-s, --sudo使用 sudo 运行命令。
-S, --su使用 su 命令运行命令。
-f NUM, --forks=NUM指定并行任务数,默认为 5。
--private key=PRIVATE_KEY_FILE指定私钥文件的路径,用于 SSH 连接验证。
-v, --verbose输出详细信息。
all针对 hosts 文件中定义的所有主机执行命令。
-M MODULE_PATH, --module-path=MODULE_PATH指定模块的搜索路径。
-o, --one-line压缩输出,尝试将输出信息压缩到一行中显示。
-B SECONDS, --background=SECONDS在后台运行命令,并指定超时时间。
-P NUM, --poll=NUM在后台模式下,每隔多少秒检查一次作业状态。
-T SECONDS, --timeout=SECONDS设置命令执行的超时时间。
-c CONNECTION, --connection=CONNECTION指定连接类型,如 paramiko (SSH)、ssh 或 local
--tags=TAGS只执行指定标签的任务。
--list-hosts只打印将执行 playbook 的主机列表,并不真正执行 playbook。
--list-tasks列出 playbook 中所有将被执行的任务。
-C, --check只测试命令会改变什么内容,而不会真正执行。
--syntax-check检查 playbook 的语法,但不执行。
-l SUBSET, --limit=SUBSET进一步限制所选主机或主机组。
--skip-tags=SKIP_TAGS跳过标签匹配的任务。
-e EXTRA_VARS, --extra-vars=EXTRA_VARS设置额外的变量。

5.示例

ansible all -m command -a "df -h" --become --become-user root
#以 root 用户身份对所有主机执行 df -h 命令


ansible webservers -m yum -a "name=nginx state=present" -k
#使用 yum 模块安装 nginx,并提示输入密码


ansible appservers -m command -a "uptime" -u john -f 5
#以 john 用户身份对 appservers 主机组执行 uptime 命令,并限制并发数为 5


ansible testhosts -a "/sbin/reboot" -f 10
#重启 testhosts 组的所有机器,每次重启 10 台


ansible-playbook update.yml --extra-vars "hosts=vipers user=admin"
#使用额外的变量执行 playbook


ansible [pattern] -m [module] -a '[module arguments]' --limit=192.168.241.22,192.168.241.23
#只对这个两个 IP 执行任务

二、常用命令解释

1.ansible-doc

ansible-doc -h Usage: ansible-doc [options] [module...]
#该指令用于查看模块信息,常用参数有两个-l 和 -s ,具体如下
ansible-doc -l
#列出所有已安装的模块


ansible-doc -s command
#查看具体某模块的用法,这里如查看command模块

2.ansible-galaxy

ansible-galaxy -h Usage: ansible-galaxy [init|info|install|list|remove] [--help] [options] ...
#ansible-galaxy指令用于方便的从https://galaxy.ansible.com/ 站点下载第三方扩展模块,我们可以形象的理解其类似于centos下的yum、python下的pip

3.ansible-playbook

通过读取playbook 文件后,执行相应的动作

4.ansible-pull

该指令使用需要谈到ansible的另一种模式——pull 模式,这和我们平常经常用的push模式刚好相反

其适用于以下场景:你有数量巨大的机器需要配置,即使使用非常高的线程还是要花费很多时间

5.ansible-vault

ansible-vault主要应用于配置文件中含有敏感信息,又不希望他能被人看到,vault可以帮你加密/解密这个配置文件,属高级用法。主要对于playbooks里比如涉及到配置密码或其他变量时,可以通过该指令加密,这样我们通过cat看到的会是一个密码串类的文件,编辑的时候需要输入事先设定的密码才能打开。这种playbook文件在执行时,需要加上 –ask-vault-pass参数,同样需要输入密码后才能正常执行。

三、高频使用的命令

1.Ping主机

用于测试Ansible是否能够成功连接到远程主机。

ansible all -m ping

2.执行命令

在远程主机上执行特定的shell命令。

ansible all -m command -a "ls -l /etc"

3.安装软件包

 使用yum模块在远程主机上安装软件包。

ansible servers -m yum -a "name=nginx state=present"

4.管理文件

 使用copy模块将本地文件复制到远程主机。

ansible all -m copy -a "src=/path/to/local/file dest=/path/on/remote/host"

5.管理服务

使用service模块启动、停止或重启远程主机上的服务。

ansible webservers -m service -a "name=nginx state=started"

6.获取主机信息

 使用setup模块收集远程主机的系统信息。

ansible all -m setup

7.执行自定义脚本

使用script模块在远程主机上执行本地脚本。

ansible all -m script -a "/path/to/local/script.sh"

8.以sudo权限执行命令

使用--become选项以sudo权限在远程主机上执行命令。

ansible all -m command -a "whoami" --become --become-user root

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

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

相关文章

Spring Cloud 整合Sentinel

1、引入依赖 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 父pom <spring.cloud.version>Hoxton.SR12</spring.cloud.version> <spring.cloud.alibaba.version>2.2.10-RC1</spring.cloud.alibaba.version>Sentinel应用直接引用starter <…

基于FPGA的数字密码锁电路Verilog代码Quartus仿真

名称&#xff1a;基于FPGA的数字密码锁电路Verilog代码Quartus仿真(文末获取&#xff09; 软件&#xff1a;Quartus 语言&#xff1a;Verilog 代码功能&#xff1a; 数字密码锁电路的设计 1.设计任务:设计并制作数字密码锁电路 2.设计要求 1.用EDA实训仪的I/设备和PLD志…

纯血鸿蒙APP实战开发——折叠屏扫描二维码方案

折叠屏扫描二维码方案 介绍 本示例介绍使用自定义界面扫码能力在折叠屏设备中实现折叠态切换适配。自定义界面扫码使用系统能力customScan&#xff0c;其提供相机流的初始化、启动扫码、识别、停止扫码、释放相机流资源等能力。折叠屏折叠状态通过监听display的foldStatusCha…

Hive3.0新特性:Materialized Views 物化视图

Materialized Views 物化视图 在 Apache Hive 3.0 中引入了物化视图&#xff08;Materialized Views&#xff09;的支持&#xff0c;它们是预先计算并缓存了查询结果的数据结构&#xff0c;以提高查询性能和降低延迟。物化视图通过将查询的结果存储在物理表中来实现&#xff0…

深入理解指针1

目录 如对您有帮助&#xff0c;还望三连支持&#xff0c;谢谢&#xff01;&#xff01;&#xff01; 1.内存和地址 计算机中常⻅的单位&#xff08;补充&#xff09;&#xff1a; 如何理解编址 2.指针变量和地址 2.1取地址操作符&#xff08;&&#xff09; 2.2指针变…

数据结构学不会?数据结构可视化网站来了

目录 前言 图码网站 算法可视化 算法编辑器 数据结构全书 数据结构课程 总结 前言 数据结构与算法在计算机的学习中应该是许多小白最头疼的东西&#xff0c;明明听的时候那么容易&#xff0c;为什么转换成代码就那么抽象呢&#xff1f; 有没有一个网站可以数据结构与算…

【RabbitMQ 三】Java客户端开发

本文引用的代码源自《RabbitMQ实战指南》 关键的类和接口主要有Channel、Connection、ConnectionFactory、Consumer等&#xff0c;它们主要的作用如下&#xff1a; Channel&#xff1a;实现AMQP协议层的操作Connection&#xff1a;开启信道&#xff08;Channel&#xff09;、注…

k8s集群统一设置时间

1 安装时间同步需要软件 yum install -y ntpdate2 设置时间 2.1 手动设置时间 date -s "20190712 18:30:50" hwclock --systohc2.2 在线更新时间 ntpdate 0.asia.pool.ntp.org # 强制把系统时间写入CMOS clock -w3 强制把系统时间写入CMOS hwclock作用与clock相…

【复杂网络】如何用简易通俗的方式快速理解什么是“相对重要节点挖掘”?

什么是相对重要节点&#xff1f; 一、相对重要节点的定义二、如何区分相对重要节点与重要节点&#xff1f;1. 相对重要性与节点相似性2. 识别相对重要节点的两个阶段第一阶段&#xff1a;个体重要性值的计算第二阶段&#xff1a;累积重要性值的计算 三、经典的相对重要节点挖掘…

08 - 条件判断语句

---- 整理自狄泰软件唐佐林老师课程 文章目录 1. 条件判断语句2. 语法说明3. 经验4. 代码 1. 条件判断语句 makefile 中支持条件判断语句 可以根据条件的值来决定 make 的执行可以比较两个不同变量或者变量和常量的值 注&#xff1a;条件判断语句只能用于控制 make 实际执行的…

探索大模型能力--prompt工程

1 prompt工程是什么 1.1 什么是Prompt&#xff1f; LLM大语言模型终究也只是一个工具&#xff0c;我们不可能每个人都去训一个大模型&#xff0c;但是我们可以思考如何利用好大模型&#xff0c;让他提升我们的工作效率。就像计算器工具一样&#xff0c;要你算10的10倍&#x…

今天看到一个有意思的问题:个人网站被恶意大量访问,怎么办(文末附GPT指令优化)

目录 问题描述 一、GPT 3.5 二、通义千问 三、讯飞星火 四、文心一言 五、Kimi 六、智谱清言 个人分析&#xff1a; 问题描述 大家好&#xff01;我的个人网站每天晚上7点30到11点被固定的十几个IP大量下载exe&#xff0c;造成网站带宽不够&#xff0c;怎么办! 已经把…

大模型系列之解读MoE

Mixtral 8x7B 的推出&#xff0c; 使我们开始更多地关注 基于MoE 的大模型架构&#xff0c; 那么&#xff0c;什么是MoE呢&#xff1f; 1. MoE溯源 MoE的概念起源于 1991 年的论文 Adaptive Mixture of Local Experts&#xff08;https://www.cs.toronto.edu/~hinton/absps/jjn…

如何在Android设备上恢复丢失的照片

Android手机或平板电脑上的照片丢失了&#xff1f;不要惊慌&#xff0c;您也许可以恢复它们。 由于我们的大量数据和日常生活都存储在一台设备上&#xff0c;有时将所有照片存储在本地的 Android 智能手机或平板电脑上可能是一项冒险的工作。无论是通过事故&#xff08;损坏、…

python数据分析常用基础语法

Python语言基础——语法基础 前言一、变量的介绍与使用变量的介绍变量命名规则变量的使用拓展 二、标识符标识符命名命名规则注意事项 三、数据类型数据类型的介绍数据类型的查看示例 四、输入与输出输入和输出的介绍format格式化输出占位符 五、代码缩进与注释代码缩进 前言 …

最高20K/月,安全、数通、云计算多个方向急招,可内推!

高级安全工程师【岗位职责及要求】 1、统筹负责行业客户的安全项目交付&#xff0c;能够独自输出技术方案并完成施&#xff0c;并具备指导初中级工程师实施的能力&#xff1b; 2、掌握H3C全系列安全产品功能并对全系列产品原理有深入了解&#xff0c;能够熟练完成安全产品规划及…

如何找到台式电脑的ip地址

在数字时代&#xff0c;每台接入网络的设备都拥有一个独特的标识&#xff0c;这就是IP地址。无论是手机、笔记本电脑还是台式电脑&#xff0c;IP地址都扮演着至关重要的角色&#xff0c;它帮助设备在网络世界中定位并与其他设备进行通信。对于许多电脑用户来说&#xff0c;了解…

RK3576芯片规格,以及与RK3588对比

瑞芯微RK3576是一款高性能、低功耗的SoC&#xff08;系统级芯片&#xff09;处理器&#xff0c;适用于基于ARM的PC、边缘计算设备、个人移动互联网设备等多种应用场景。它采用Arm架构的八核心CPU&#xff0c;集成了GPU、MCU、NPU、VPU等多种计算核心&#xff0c;并具有丰富的外…

Python面向对象编程思想的深入学习

魔术方法的使用 案例体验 class Student:def __init__(self, name, age):self.name nameself.age age# __str__魔术方法, 如果不去写这个方法&#xff0c;那么print输出的则是信息存储的内存地址。def __str__(self):return fStudent类对象&#xff0c;name:{self.name}, ag…

SolidWorks进行热力学有限元分析一、模型建立

1.话不多说按照我的操作来 2.这一步鼠标移到中心点直接拉就行 3.这里选单位&#xff0c;继续按照操作来 4.选中这个边&#xff0c;直接拉&#xff0c;输入尺寸后确定&#xff0c;其他边同理 5.鼠标右键设置厚度 6.右键零件&#xff0c;然后编辑材料&#xff0c;给他赋予你需要的…
最新文章