首页 > 其他分享 >ansible 语法

ansible 语法

时间:2022-10-12 17:35:59浏览次数:76  
标签:shell Ansible 语法 ansible yum playbook 模块

在控制端里编写脚本,执行之前最好保存当前快照或者先使用测试环境,如果出现错误可以及时恢复!

在管理机上使用yum模块控制两台被管理机安装tree软件

ansible ceshiji -m yum -a 'name=tree state=installed'

ansible 语法_客户端

验证安装

ansible 语法_客户端_02

在管理机上使用yum模块控制两台被管理机卸载tree软件

ansible ceshiji -m yum -a 'name=tree state=absent'

ansible 语法_执行环境_03

验证卸载

ansible 语法_客户端_04

下载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 #相当于拍摄完清场工作:撤换场景,演员卸/换妆等,执行环境的清理

ansible 语法_python_05

关于更多的语法信息可以参考文档:
​​​https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html​​​YAML 1.1:https://yaml.org/spec/1.1/
YAML 1.2:https://yaml.org/spec/1.2/spec.html
Ansible playbook 的样例:https://github.com/ansible/ansible-examples
​​​https://blog.csdn.net/qq_51625703/article/details/124364414​

Command 模块
功能:在远程主机执行命令,此为默认模块,可忽略-m选项

注意:此命令不支持 $VARNAME < > | ; & 等,用shell模块实现

ansible 语法_执行环境_06

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

ansible 语法_python_07

标签:shell,Ansible,语法,ansible,yum,playbook,模块
From: https://blog.51cto.com/u_15753891/5751175

相关文章

  • 多层语法糖&有参装饰器&装饰器修复技术&递归函数
    目录一.多层语法糖二.有参装饰器1.什么是有参装饰器:2.实操3.装饰器模板三.装饰器修复技术四.递归函数1.函数的递归调用2.递归函数一.多层语法糖语法糖会将下面紧挨着的......
  • python进阶之路12之有参装饰器、多层语法糖、递归函数简介
    多层语法糖defoutter1(func1):print('加载了outter1')defwrapper1(*args,**kwargs):print('执行了wrapper1')res1=func1(*args,**kwa......
  • markdown语法
    目录斜体、粗体、加粗斜体、删除线超链接分级标题列表无序列表有序列表数学公式斜体、粗体、加粗斜体、删除线1、这是斜体2、这是粗体3、这是加粗斜体4、这是删除线......
  • 15、python函数篇 多层语法糖、装饰器和装饰器修复技术及递归函数
    目录一、多层语法糖1、什么是多层语法糖:2、多层语法糖用法:二、有参装饰器1、什么是有参装饰器:2、有参装饰器的作用:三、装饰器修复技术1、什么是装饰器修复技术:四、递归函数......
  • 多参装饰器/多层语法糖/递归函数
    目录今日内容概要1.多层语法糖2.有参装饰器3.装饰器模板4.装饰器修复技术5.递归函数6.作业今日内容概要多层语法糖有参装饰器装饰器模板装饰器修复技术递归函数练......
  • 博客园Markdown语法代码块折叠
    博客Markdown语法代码块默认不折叠,如果代码块过长很影响读者体验,可以使用自带博客园样式进行折叠。语法如下:请注意:在要折叠的代码内容前后各插入一行空格<details><......
  • ansible自动化运维
    Ansible是一个开源的基于openssh的自动化配置管理工具。可以用它来配置系统,部署软件和编排更高级的IT任务,比如持续部署或零停机更新。Ansible的主要目标是简单和易用,通过An......
  • secureCRT配置vim编辑器(语法高亮等)
    配置vim编辑器(语法高亮等)1、在SecureCRT中secureCRT使用VIM时对语法高亮其实不是secureCRT的功能,而是VIM的设置:Options->SessionOptions->Terminal->Emulatio......
  • 【精品】vue3中setup语法糖下通用的分页插件
    注意:本博客理论基础:https://blog.51cto.com/lianghecai/5743179效果自定义分页插件:PagePlugin.vue<scriptsetuplang="ts">//total:用来传递数据总条数//pageSize......
  • Java基础语法 Break和Continue
    Break和ContinuepackageBasicGrammar.day05;/*break和continue关键字的使用 使用范围 循环中使用的作用(不同点) 相同点break: switch-case 循环结构中 ......