电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 338|回复: 0

ansible 语法

[复制链接]
胖大海 发表于 2022-10-12 16:53:55 | 显示全部楼层 |阅读模式
在控制端里编写脚本,执行之前最好保存当前快照或者先使用测试环境,如果出现错误可以及时恢复!
在管理机上使用yum模块控制两台被管理机安装tree软件
ansible ceshiji -m yum -a 'name=tree state=installed'

验证安装

在管理机上使用yum模块控制两台被管理机卸载tree软件
ansible ceshiji -m yum -a 'name=tree state=absent'

验证卸载

下载ansible一个检查语法的工具
yum -y install search ansible-lint.noarch
模块以及yaml语法补充通过 Ansible 提供的用于远程执行命令的 command、shell、raw、script 模块,我们可以将被管理节点的 IP/计算机名信息写入 Ansible 的“演员”inventory——/etc/ansbile/hosts,将要执行的命令编排成 Ansible 的 playbook,然后运行这个 playbook 就可以达到远程配置的目的了。
command、shell、raw、script 模块有什么区别呢?
command 和 shell 模块都依赖 Python 解析器,而 raw、script 这两个模块不依赖 Python,直接调用目标客户端的/bin/sh 来执行命令。如果目标客户端安装了 Python,而且要执行的命令很简单,不涉及特殊的 shell 符号,可以考虑 command 模块,如果涉及重定向等特殊 shell 符号则要用 shell 模块;如果目标客户端没有安装 Python,就只能考虑用 raw 或者script 模块,如果临时组装 shell 命令清单,则使用 raw 模块,如果在 Ansible 控制器上已经编写好 shell脚本文件,需要发送到客户端去执行,则应该使用 script 模块。
playbook 又是什么?
playbook字母意思是剧本,剧本里写清楚了哪个演员什么时候应该说什么台词、做什么动作、展现什么神情等,电影、电视剧是按照剧本来拍摄的。Ansible 里的 playbook 作用就跟拍电影的剧本一样,把要执行的命令、任务在 playbook 里编排好,然后 Ansible 执行这个 playbook,Ansible的“电影”就这样“拍摄”完成了。由此可见,掌握 playbook 的编排对于掌握 Ansible 的应用有多重要!电影剧本有分幕、场(景)、镜等结构,Ansible 的 playbook 也分结构,类似于:
playbook #相当于总剧本
|----play #相当于场景剧本
|----tasks #相当于分镜头剧本
|----pre_tasks #相当于拍摄前准备工作:布置场景,演员化妆等,执行环境的准备
|----tasks #相当于开始拍摄,要执行的命令清单
|----post_tasks #相当于拍摄完清场工作:撤换场景,演员卸/换妆等,执行环境的清理

关于更多的语法信息可以参考文档:


Command 模块
功能:在远程主机执行命令,此为默认模块,可忽略-m选项
注意:此命令不支持 $VARNAME < > | ; & 等,用shell模块实现

Script模块
功能:在远程主机上运行ansible服务器上的脚本

大家可以去网上多搜集一些资料共同学习,缺乏机器练手的小伙伴可以去 cnaaa 看一看!

您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-5-19 13:55 , Processed in 0.077105 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表