AnsiblePlaybooks提供了一个可重复、可重用、简单的配置管理和多机部署系统,非常适合部署复杂的应用程序。AnsiblePlaybook是自动化任务的蓝图,这些任务是复杂的IT操作,在有限或没有人为参与的情况下执行。
AnsiblePlaybook在一组、组或分类的主机上执行,它们共同构成一个Ansible清单。
AnsiblePlaybook本质上是框架,是预先编写的代码,开发人员可以使用ad-hoc或作为起始模板。
AnsiblePlaybooks经常用于自动化IT基础设施(例如操作系统和Kubernetes平台)、网络、安全系统和开发人员角色(例如Git)。
AnsiblePlaybooks可帮助IT人员对应用程序、服务、服务器节点或其他设备进行编程,而无需从头开始创建所有内容的手动开销。
AnsiblePlaybook以及其中的条件、变量和任务可以无限期地保存、共享或重复使用。
playbook是由一个或多个play组成的列表
二、ansibleplaybook如何工作?
Ansible模块执行任务。可以组合一个或多个Ansible任务来进行游戏。可以组合两个或多个剧本来创建AnsiblePlaybook。AnsiblePlaybook是针对主机自动执行的任务列表。主机组构成您的Ansible清单。
AnsiblePlaybook中的每个模块都执行特定的任务。每个模块都包含元数据,这些元数据确定执行任务的时间和地点,以及执行任务的用户。还有数以千计的其他Ansible模块可以执行各种IT任务。
YAML是一个可读性高的用来表达资料序列的格式,它实际上是一种标记语言。不论是在运维工作中还是开发工作中,yaml语言都是一个很普遍被使用的,比如:Kubernetes中的部署清单文件、GitLabCICD、Python使用yaml格式做配置文件、json格式的数据需要被转成yaml格式的数据等等。这里不对yaml语法做更多的介绍,详情可以自行和百度、谷歌合作了解。
五、ansible-playbook的核心组成部分
5.1ansible-playbook的项目目录结构
以上是项目是docker批量安装。这个目录格式是我这边安装项目的目录规范。但并不是说每个目录下的文件都存在内容,其实很多时候我们可能用不到和。

可用于Host和Task中,也可以通过指定其通过sudo的方式在远程主机上执行任务,其可用于play全局或某任务。此外,还可以在sudo时使用sudo_user指定sudo时切换的用户。
简单来说,Tasks任务集其实就是使用多个ansible支持的模块组合起来的一组任务。可以理解为ansible-playbook中,一个name指定的就是一个task任务。各个task按次序逐个在hosts中指定的所有主机上执行,即在所有主机上完成第一个task后,再开始第二个task。但是也可以使用异步模式。这个后面文章会说;
task的目的是使用指定的参数执行模块,而在模块参数中可以使用变量。模块执行是幂等的,这意味着多次执行是安全的,因为其结果均一致;
每个task都应该有其name,用于playbook的执行结果输出,建议起一个见名知意的名称。
task的两种格式:
一种是的形式,另一种是的形式。
注意:?后者冒号后面有一个空格。
以上示例中,我加了空行,存在空行和带有注释的行不会影响yaml文件执行,看上去更加美观,而不是所有task挤在一起,看上去一团糟。
通常我们会将变量信息放在中,格式如下:
Templates模板主要使用模板语言,以?结尾,里面其实就是一个配置文件,比如:
这两个通常结合使用,比如某一个服务配置变更后,需要重启,那么就需要在配置变更后设置一个notify,然后handlers就会在playbook退出之前执行重启服务的操作。如果定义了handler重启服务,而没有定义notify,那么所有task任务执行完成后,也会触发一次服务重启操作。
两个典型的示例:示例来源于:?
示例一:
示例二:
我们可以在ansible-playbook的每一个task任务上打上tag标签,可以用于区分某一种类型的任务。如果你想要单独执行这个独有的tag标签的任务,就可以在使用ansible-playbook命令加上-t参数来指定tag执行剧本。如:
本文来源:国外服务器--Ansibleplaybook详细介绍和使用方法(ansible-playbook-i)
本文地址:https://www.idcbaba.com/guowai/5785.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。




