Ansible 点对点命令快速入门指南示例

网友投稿 652 2023-04-17

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Ansible 点对点命令快速入门指南示例

之前,我们写了一篇有关 Ansible 安装和配置 的文章。在那个教程中只包含了一些使用方法的示例。如果你是 Ansible 新手,建议你阅读上篇文章。一旦你熟悉了,就可以继续阅读本文了。

默认情况下,Ansible 仅使用 5 个并行进程。如果要在多个主机上执行任务,需要通过添加 -f [进程数] 选项来手动设置进程数。

什么是点对点ad-hoc命令?

点对点命令用于在一个或多个受控节点上自动执行任务。它非常简单,但是不可重用。它使用 /usr/bin/ansible 二进制文件执行所有操作。

点对点命令最适合运行一次的任务。例如,如果要检查指定用户是否可用,你可以使用一行命令而无需编写剧本。

为什么你要了解点对点命令?

点对点命令证明了 Ansible 的简单性和强大功能。从 2.9 版本开始,它支持 3389 个模块,因此你需要了解和学习要定期使用的 Ansible 模块列表。

如果你是一个 Ansible 新手,可以借助点对点命令轻松地练习这些模块及参数。

你在这里学习到的概念将直接移植到剧本中。

点对点命令的一般语法:

ansible [模式] -m [模块] -a "[模块选项]"

点对点命令包含四个部分,详细信息如下:

部分描述

ansible

命令 模式 输入清单或指定组 模块 运行指定的模块名称 模块选项 指定模块参数

如何使用 Ansible 清单文件

如果使用 Ansible 的默认清单文件 /etc/ansible/hosts,你可以直接调用它。否则你可以使用 -i 选项指定 Ansible 清单文件的路径。

什么是模式以及如何使用它?

Ansible 模式可以代指某个主机、IP 地址、清单组、一组主机或者清单中的所有主机。它允许你对它们运行命令和剧本。模式非常灵活,你可以根据需要使用它们。

例如,你可以排除主机、使用通配符或正则表达式等等。

下表描述了常见的模式以及用法。但是,如果它不能满足你的需求,你可以在 ansible-playbook 中使用带有 -e 参数的模式中的变量。

描述模式目标

所有主机

all

(或

*

) 对清单中的所有服务器运行 Ansible 一台主机

host1

只针对给定主机运行 Ansible 多台主机

host1:host2

(或

host1,host2

) 对上述多台主机运行 Ansible 一组

webservers

webservers

群组中运行 Ansible 多组

webservers:dbservers

webservers

中的所有主机加上

dbservers

中的所有主机 排除组

webservers:!atlanta

webservers

中除

atlanta

以外的所有主机 组之间的交集

webservers:&staging

webservers

中也在

staging

的任何主机

什么是 Ansible 模块,它干了什么?

模块,也称为“任务插件”或“库插件”,它是一组代码单元,可以直接或通过剧本在远程主机上执行指定任务。

Ansible 在远程目标节点上执行指定模块并收集其返回值。

我们将添加一个包含最常用的“模块选项”参数的表。

列出所有可用的模块,运行以下命令:

$ ansible-doc -l

运行以下命令来阅读指定模块的文档:

$ ansible-doc [模块]

1)如何在 Linux 上使用 Ansible 列出目录的内容

2)如何在 Linux 使用 Ansible 管理文件

我们可以运行以下命令进行验证:

要将文件从一个位置复制到远程计算机上的另一个位置,使用以下命令:

移动文件,使用以下命令:

在 u1 用户目录下创建一个名为 ansible.txt 的新文件,运行以下命令:

在 u1 用户目录下创建一个名为 magi 的新目录,运行以下命令:

将 u1 用户目录下的 ansible.txt* 文件权限更改为 777,运行以下命令:

删除 u1 用户目录下的 ansible.txt 文件,运行以下命令:

使用以下命令删除目录,它将递归删除指定目录:

3)用户管理

你可以使用 Ansible 轻松执行用户管理活动。例如创建、删除用户以及向一个组添加用户。

$ ansible all -m user -a "name=foo password=[crypted password here]"

运行以下命令删除用户:

$ ansible all -m user -a "name=foo state=absent"

4)管理包

使用合适的 Ansible 包管理器模块可以轻松地管理安装包。例如,我们将使用 yum 模块来管理 CentOS 系统上的软件包。

5)管理服务

使用以下 Ansible 模块命令可以在 Linux 上管理任何服务。

上一篇:适合Web开发者的十大数据库优化实践
下一篇:报告:DevOps 采用率在五年内几乎翻倍,达有史最高
相关文章

 发表评论

暂时没有评论,来抢沙发吧~