Ansible之YAML

这篇具有很好参考价值的文章主要介绍了Ansible之YAML。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Ad-Hoc的问题

通过对 AD-HOC 的学习,我们发现 AD-HOC 每次只能在被管理节点上执⾏简单的命令。
⽽⽇常⼯作中,我们往往⾯临的是⼀系列的复杂操作,例如我们有可能需要安装软件、更新配置、启动服务等等⼀系列操作的结合。此时再通过 AD-HOC 去完成任务就有些⼒不从⼼了在这种场景下,Ansible引进了 PLAYBOOK 来帮忙我们解决这样复杂问题。

2.YAML
a.特点

YAML ⽂件

  • 以 # 为注释符
  • 以 .yml 或者.yaml 结尾
  • 以 — 开始 , 以 … 结束, 但开始和结束标志都是可选的
b.基本语法
  • ⼤⼩写敏感
  • 使⽤缩进表示层级关系
  • 缩进时是使⽤Tab键还是使⽤空格⼀定要达到统⼀,建议使⽤
  • 空格。
  • 相同层级的元素必须左侧对⻬即可

YAML支持的数据结构有三种

  • 字符串
  • 列表
  • 字典
c.字符串

YAML 中的字符串可以不使⽤引号,即使⾥⾯存在空格的时候,当然了使⽤单引号和双引号也没有错。
例如:

this is a string
'this is a string'
"this is a string"

YAML 中若⼀⾏写不完你要表述的内容的时候,可以进⾏折⾏。
例如:

long_line: |
 Example 1
 Example 2
 Example 3
#或者
long_line: >
 Example 1
 Example 2
 Example 3
d.列表

若熟悉 Python 的话, 可以认为它就是Python中的List。
如何定义?
以短横线开头 + 空格 + 具体的值
例如:

- red
- green
- blue
e.字典

若熟悉 Python 的话, 可以认为它就是 Python 中的 Dict
如何定义?
key + 冒号(😃 + 空格 + 值(value)
即----key:value
例如:

name: Using Ansible
code: D1234

#转换为 python 的 Dict
{'name': 'Using Ansibel', 'code': 'D1234'}
f.混合结构

例子:
使⽤列表和字典的形式去描述⼀个班级的组成。

---
class:
 - name: stu1
   num: 001
 - name: stu2
   num: 002
 - name: stu3
   num: 003
# {'class': [{'name': 'stu1', 'num': 1},{'name':
'stu2', 'num': 2},...]}
...
h.验证YAML语法

将YAML⽂件,通过 Python 的YAML 模块验证, 若不正确则报错。若正确则会输出 YAML ⾥的内容。
注意使⽤时,⼀定确保安装了yaml 软件包。

python -c 'import yaml,sys;print yaml.load(sys.stdin)' < myyaml.yml
python3 -c 'import yaml,sys;print(yaml.load(sys.stdin))' < myyaml.yml

现在设置myyaml.yml的值:
image.png
一定要记得格式是-+空格+值

python -c 'import yaml,sys; 
print yaml.safe_load(sys.stdin)' < myyaml.yml

image.png
为什么一定要记得格式呢,给大家看一个错误的例子:
设置myyaml.yml:
image.png
那么执行命令会是什么效果呢?
image.png文章来源地址https://www.toymoban.com/news/detail-495671.html

到了这里,关于Ansible之YAML的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Ansible系列]ansible playbook的条件语句

    目录 简介 when 1.  when的基本使用  2.   比较运算符 3.  逻辑运算符 4.   判断变量 5.  判断执行结果  6.  判断路径  7.  判断字符串  8.  判断整除  9.  其他 9.1  version  9.2   subset  9.3  superset  9.4  in  9.5  string  和 number  条件判断与block 1.  block  2.  rescue 

    2024年02月03日
    浏览(35)
  • ansible创建用户账户和更新ansible库的密钥

    1.创建⽤户帐户 从 http://materials/user_list.yml 下载要创建的⽤户的列表,并将它保存到 /home/greg/ansible 在本次考试中使⽤在其他位置创建的密码库 /home/greg/ansible/locker.yml 。创建名为 /home/greg/ansible/users.yml 的 playbook ,从⽽按以下所述创建⽤户帐户: 职位描述为 developer 的⽤户应当

    2024年04月16日
    浏览(47)
  • [Ansible系列]ansible JinJia2过滤器

    目录 一.  JinJia2简介 二.  JinJia2模板使用  2.1  在play中使用jinjia2 2.2  template模块使用 2.3   jinjia2条件语句 2.4  jinjia2循环语句 2.5   jinjia2过滤器 2.5.1   default过滤器 2.5.2  字符串操作相关过滤器   2.5.3  数字操作相关过滤器 2.5.4  列表操作相关过滤器  2.5.5   应用于文件

    2024年02月02日
    浏览(48)
  • 01_什么是ansible、基本架构、ansible工作机制、Ansible安装、配置主机清单、设置SSH无密码登录等

    1.什么是ansible 1.1.基本介绍 1.2.基本架构 1.3.基本特征 1.4.优点 1.5.ansible工作机制 2.Ansible安装 2.1.机器准备 2.2.安装ansible 2.2.1.安装epel源 2.2.2.安装ansible 2.2.3.查看ansible版本 2.2.4.树状结构展示文件夹 2.2.4.1.其中ansible.cfg的内容如下 2.2.4.2.host的默认内容是 2.3.配置主机清单 2.4.设置

    2024年02月14日
    浏览(46)
  • Ansible Rsync 使用Ansible Rsync模块进行文件传输

    在Ansible自动化工具中,Rsync模块(Rsync Module)是一个强大的组件,用于在Ansible控制节点和目标主机之间进行文件传输和同步。本文将深入探讨Ansible Rsync模块,了解它如何成为自动化任务中高效同步的自动化利器。 Ansible Rsync模块是Ansible的核心模块之一,它利用rsync工具进行文

    2024年02月14日
    浏览(45)
  • ansible实训-Day2(ansible基本问题及部署安装)

            该篇是对ansible实训第二天内容的归纳总结,主要包括ansible的一些基本问题以及ansible的部署安装。 Q1:什么是ansible         Ansible是一种自动化IT工具,它可以帮助管理和自动化IT基础架构。使用Ansible,管理员可以通过编写Playbooks和Roles来描述所需状态,然后

    2024年02月11日
    浏览(36)
  • ansible自动运维——学会参考ansible-doc命令

    大家好,这里是天亮之前ict,本人网络工程大三在读小学生,拥有锐捷的ie和红帽的ce认证,这里我会定期跟新自动话运维的博客,希望能提高自己的技术的同时,也可以帮助到大家,另外大家可以关注我的其它专栏: 锐捷数通实验:锐捷数通实验 网络工程师成长日志:网络

    2024年02月03日
    浏览(35)
  • Ansible主机清单书写演示和ansible.cfg配置文件详解

    目录 主机清单(常见为INI格式) 一.定义主机列表 1.每行写一个 2.主机组 (1)定义简单主机组 (2)指定多台主机时可以通过书写范围来表示 (3)定义嵌套主机组 二.匹配主机和组 1.匹配所有主机 (1)all (2)特殊使用*号,单独使用无效 2.匹配指定主机或组 (1)匹配一个

    2024年02月07日
    浏览(43)
  • Ansible环境搭建,CentOS 系列操作系统搭建Ansible集群环境

    Ansible是一种自动化工具,基于Python写的,原理什么的就不过多再说了,详情参考:https://www.itwk.cc/post/403.html https://blog.csdn.net/qq_34185638/article/details/131079320?spm=1001.2014.3001.5502 HOSTNAME IP OS master.example.com 10.5.5.132 CentOS Stream 8 Mini Install node1.example.com 10.5.5.133 CentOS Stream 8 Mini Install n

    2024年02月14日
    浏览(100)
  • 【Ansible】Ansible自动化运维工具之playbook剧本

      简单来说,playbooks是一种简单的配置管理系统与多机器部署系统的基础。与现有的其他系统有不同之处,且非常适合复杂应用的部署。   Playbooks 可用于声明配置,更强大的地方在于,playbooks可以编排有序的去执行过程,甚至做到多组机器间来回有序的执行特别指定的

    2024年02月14日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包