首页 > 其他分享 >ansible剧本(playbook)- 快速入门

ansible剧本(playbook)- 快速入门

时间:2023-04-11 16:37:18浏览次数:48  
标签:入门 ansible playbook 模块 剧本 root yml

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语法编写的。

 


 

雷哥开通了抖音(云计算雷哥)和微信视频号,求关注!!!和大家一起学习 技术!

图片

推荐阅读

 

《一站式教程之集群架构》:

 

ansible模块-cron模块

ansible模块-group模块

ansible模块-service(systemd)模块

ansible模块-user模块

ansible模块 - lineinfile模块

ansible模块 - blockinfile模块

 

 

看完本文有收获?请分享给更多人

推荐关注「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

相关文章

  • ansible剧本-playbook核心元素
    ansible剧本-playbook核心元素Cloud研习社 Cloud研习社 2023-04-0810:33 发表于山东收录于合集#一站式教程220个#ansible22个#云计算196个#计算机185个#linux209个教程每周二、四、六更新 hosts执行的远程主机列表tasks任务集Variables内置变量或自......
  • ansible模块实战练习
    ansible模块实战练习Cloud研习社 Cloud研习社 2023-04-0110:55 发表于山东收录于合集#一站式教程220个#计算机185个#ansible22个#云计算196个#linux209个教程每周二、四、六更新今天我们练习一下ansible模块的用法,也算是一个小复习:准备三个节点:其中一个作......
  • Go语言入门5(map哈希表)
    Map​ 哈希表是一种巧妙并且实用的数据结构。它是一个无序的key/value对的集合,其中所有的key都是不同的,然后通过给定的key可以在常数时间复杂度内检索、更新或删除对应的value。​ 在Go语言中,一个map就是一个哈希表的引用,map类型可以写为map[K]V,其中K和V分别对应key和value。m......
  • UnrealEngine - 网络同步入门
    1网络同步机制UE提供了强大的网络同步机制:RPC:可以在本地调用,对端执行属性同步:标记一个属性为UPROPERTY(Replicated)就可以自动将其修改后的值同步到客户端移动复制:Actor开启了移动复制后会自动复制位置,旋转和速度创建和销毁:Server创建Actor时根据其权限会在所有连......
  • git 入门笔记
    Git与Github入门笔记Git版本控制软件引用视频同步笔记:狂神聊Git(qq.com)git小游戏......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-智能聊天机器人从0到1快速入门——官网推荐的
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • kettle从入门到精通 第十一课 kettle javascript 解析json数组
    1、json步骤虽然可以解析json数组,但是不够灵活。通过javascript步骤来解析json数组比较灵活,且可以按照需要组装数据流转到下个步骤。1)步骤名称:可以自定义2)TransformScripts:当前步骤编写的javascript脚本3)TransformConstants:重新定义的静态常量,用于控制数据行发生的情况。您必......
  • Semantic Kernel 入门系列:
    如果把提示词也算作一种代码的话,那么语义技能所带来的将会是全新编程方式,自然语言编程。通常情况下一段prompt就可以构成一个SemanticFunction,如此这般简单,如果我们提前可以组织好一段段prompt的管理方式,甚至可以不需要写任何的代码,就可以构造出足够多的技能来。使用文件夹管......
  • 斜率优化入门
    前言斜率优化是一种经典的单调队列优化类型,虽然它的名字很高大上,但是其思想内核非常简单,这篇博客就是用来帮助各位快速入门的提示:本博客以单调队列的思想理解斜率优化引入dp优化可以怎么分类?数据结构维护决策点集的插入与查找算法维护决策点集大小,取出无用决策点而......
  • Flask快速入门day 06 (sqlalchemy的使用,scoped-session线程安全)
    目录Flask框架之sqlalchemy的使用一、SQLAlchemy基本使用1、简介2、操作原生sql3、表创建4、ORM操作4、1.基本使用4、2.增删改查4、3.高级查询二、外键关系1、一对多1、1.表模型1、2.新增和基于对象的查询2、多对多2、1.表模型2、2.新增和基于对象查询3、连表查询三、scoped_sessi......