K8s之YAML语法

Posted 果子哥丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了K8s之YAML语法相关的知识,希望对你有一定的参考价值。

YAML 是一种非常简洁/强大/专门用来写配置文件的语言

YAML 全称是 ”YAML Ain’t a Markup Language” 的递归缩写,该语言的设计参考了 JSON / XML 和 SDL 等语言,强调以数据为中心,简洁易读,编写简单。

在这里插入图片描述

YAML语法特点

  • 大小写敏感
  • 通过缩进表示层级关系
  • 禁止使用tab缩进,只能使用空格键
  • 缩进的空格数目不重要,只要相同层级左对齐
  • 使用#表示注释
# yaml
languages:
    - Ruby
    - Perl
    - Python
websites:
    YAML: yaml.org
    Ruby: ruby-lang.org
    Python: python.org
    Perl: use.perl.org

# Json
{
    languages: [
        'Ruby',
        'Perl',
        'Python'
    ],
    websites: {
        YAML: 'yaml.org',
        Ruby: 'ruby-lang.org',
        Python: 'python.org',
        Perl: 'use.perl.org'
    }
}

数据结构

  • 对象: 键值对的字典 -数组: 一组按次序排列的列表 -纯量: 单个的且不可再分的值
# 纯量
hello

# 数组
- Cat
- Dog
- Goldfish

# 对象
animal: pets

引号区别

  • 单引号(’’): 特殊字符作为普通字符串处理
  • 双引号(""): 特殊字符作为本身想表示的意思
# 单引号
name: 'Hi,\\nTom'

# 双引号
name: "Hi,\\nTom"

内置类型列表

# YAML允许使用个感叹号(!)强制转换数据类型
# 单叹号通常是自定义类型,双叹号是内置类型
money: !!str
123

date: !Boolean
true

在这里插入图片描述

YAML中的纯量

纯量是最基本的且不可再分的值

字符串

# 不适用引号
name: Tom

# 使用单引号
name: 'Tom'

# 使用双引号
name: "Tom"

布尔值

debug: true
debug: false

数字

12       # 十进制整数
014      # 八进制整数
0xC      #十六进制整数
13.4     #浮点数
1.2e+34  #指数
.inf     #无穷大

Null

date: ~
date: null

时间

# 使用iso-8601标准表示日期
date: 2018-01-01t16:59:43.10-05:00

YAML 特殊类型

日常使用中基本不会用到的类型

文本块

# 注意“|”与文本之间须另起一行
# 使用“|”标注的文本内容缩进表示的块,可以保留块中已有的回车换行
value: |
  hello
  world!

# 输出结果
# hello 换行 world!
# +表示保留文字块末尾的换行
# -表示删除字符串末尾的换行
value: |
hello

value: |-
hello

value: |+
hello

# 输出结果
# hello\\n hello hello\\n\\n
# 注意“>”与文本之间的空格
# 使用>标注的文本内容缩进表示的块,将块中回车替换为空格最终连接成一行
value: > hello
world!

# 输出结果
# hello 空格 world!

锚点与引用

# 复制代码注意*引用部分不能追加内容
# 使用&定义数据锚点,即要复制的数据
# 使用*引用锚点数据,即数据的复制目的地
name: &a yaml
book: *a
books:
   - java
   - *a
   - python

# 输出结果
book: yaml
books:[java, yaml, python]

以上是关于K8s之YAML语法的主要内容,如果未能解决你的问题,请参考以下文章

YAML语法基础(K8s基础)

kubernetes(K8S)集群yaml常见用法

k8s之yaml详解

k8s安装之eventrouter.yaml

再战 k8s:kubernetes 集群 YAML 文件

k8s之yaml文件基本格式及底层负载均衡实现原理