学习
实践
活动
专区
工具
TVP
写文章

ansible学习playbook入门

什么是playbook

playbook是以 YAML 文件作为载体

playbook可以描述多个任务的集合

playbook使目标主机按照既定顺序执行任务以达到期望状态

通过ansible-playbook命令执行

什么是YAML语言

playbook是一种人性化的数据格式定义语言

playbook具有:结构感强、可读性好、通用的数据穿行化格式

语法要求:

以 '---' 作为起始句

大小写敏感

使用缩进表示层级关系(一般用2个空格表示缩进)

缩进是不允许使用tab键,只许使用空格

缩进的空格数目不重要,相同层级的元素左侧对齐即可

示例图:

示例图讲解

对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes)/ 字典(dictionary)

在python中的表示:

数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

在python中的表示:

纯量(scalars):单个的、 不可再分的值

在python中的表示:

{"tasks":["name":"Install","yum":"yum...",{"name":"copy","copy":"copy..."}]}

play组成部分:

Target Section:定义将要执行playbook的远程主机组及属性

Variable Section:定义playbook运行时需要使用的变量

Task Section:定义将要在远程主机上执行的任务列表

Target Section

hosts:定义远程的主机组

remote_user:执行该任务组的用户

sudo:如果设置为yes,以sudo权限执行命令

gather_facts:默认收集setup模块传递来的变量,可禁止

Variable Section

vars:直接写入对象形式的变量名及其值

vars_files:引入变量所在的文件

Task Section

由任务组成的列表,其中包含任务名,模块以及模块参数

系统变量

setup模块(默认gather_facts = yes)

自动变量

Inventory文件

Playbook文件

变量文件

引用变量方式:{{ var }} 双大括号示例

运行Playbook方式

YAML语法有3中检查方式:

python命令

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180701G15ZXZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券