ansible剧本(playbook)- 快速入门
Cloud研习社 Cloud研习社 2023-04-04 07:31 发表于山东 收录于合集 #一站式教程220个 #云计算196个 #计算机185个 #ansible22个 #linux209个教程每周二、四、六更新
剧本(playbook)比AD-Hoc模式更强大,可以一次性完成多个任务,类似于shell脚本,但是他有自己的语法规范。剧本可以实现服务自动部署、提高运维工作效率、减少出错几率。# 先准备一个目录放我们的playbook文件。
[root@m01 ~]# mkdir ansible
[root@m01 ~]# cd ansible/
先来看个例子吧:
# 先写playbook
[root@m01 ansible]# cat first-playbook.yml
---
- hosts: com
remote_user: root
tasks:
- name: hello host
command: hostname
# 执行playbook。
[root@m01 ansible]# ansible-playbook first-playbook.yml
上面的Ansible-playbook 命令的执行结果如下:
我们可以看到脚本执行成功。粉红色表示WARNING,是一些提示信息。对于命令执行成功的部分,以黄色显示。
注意:
在执行playbook之前,可以先检查一下yml文件的语法:ansible-playbook first-playbook.yml --syntax-check,如果语法没问题,则返回如下结果:
如果有语法错误,则有如下报错信息:
然后我们根据报错信息去修改yml文件即可。
上面我们就成功完成了第一个剧本。我们来看看这个剧本是怎么写的:
[root@m01 ansible]# cat first-playbook.yml
--- # 开头是三个“减号”,表明这是一个yaml文件的开始
- hosts: com # “减号”开头,空格后面写上hosts,指定需要操作的主机。冒号后面还有一个空格,然后写出主机或主机组的名字
remote_user: root # 指定在远程主机上执行命令的用户
tasks: # 书写任务的开始
- name: hello host # 开头四个空格,name指明任务的名字,冒号之后加空格,写出task名字
command: hostname # 模块名:[空格]需要执行的命令。这里我们用的command模块和hostname命令。
所以:
playbook是由一个或多个play组成的列表
playbook主要功能就是把一组主机通过ansible中的task定义好角色(所谓task其实就是使用ansible的一个module),把多个play组织在一个playbook中,即可以让他们联合起来按照实现写好的剧本“同唱一台大戏”。
playbook的语法是采用的YAML语法编写的。
雷哥开通了抖音(云计算雷哥)和微信视频号,求关注!!!和大家一起学习 技术!
推荐阅读
《一站式教程之集群架构》:
看完本文有收获?请分享给更多人
推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!
Cloud研习社 为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等 180篇原创内容 公众号收录于合集 #一站式教程 220个 上一篇ansible模块实战练习下一篇ansible剧本-YAML语法 阅读 111 标签:入门,ansible,playbook,模块,剧本,root,yml From: https://www.cnblogs.com/cherishthepresent/p/17306647.html