当前位置: 首页 > news >正文

k8s之yml语法格式

YAML 语法格式

YAML 基础

  • 它的基本语法规则如下:
  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

#表示注释,从这个字符一直到行尾,都会被解析器忽略。

  • 在我们的kubernetes中,你只需要两种结构类型就行了:
    • Map对象:键值对的集合(map);
    • Lists 数组:一组按次序排列的值(array);
    • 纯量(scalars):单个的、不可再分的值;

也就是说,你可能会遇到Lists、Maps 等等。不过不用担心,你只要掌握了这两种结构也就可以了,其他更加复杂的我们暂不论

Maps 对象

方式一

首先我们来看看Maps,我们都知道Map是字典,就是一个 key:value 的键值对,Map可以让我们更加方便的去书写配置信息,例如

在这里插入图片描述

第一行的 - - - 是分隔符,是可选的,在单一文件中,可用连续三个连字号 - - - 区分多个文件

在这里插入图片描述

方式二

Yaml 也允许另一种写法,将所有键值对写成一个行内对象。

hash: { name: Steve, foo: bar }
方式三:

较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的key,配合一个冒号加一个空格代表一个value

?
- complexkey1
- complexkey2
:
- complexvalue1
- complexvalue2

思即对象的属性是一个数组[complexkey1,complexkey2],对应的值也是一个数xe组[complexvalue1,complexvalue2]

List 数组

方式一

Lists就是列表,说白了就是数组,在YAML文件中我们可以这样定义:

在这里插入图片描述
当然,list的子项也可以是Maps,Maps的子项也可以是list如下所示

在这里插入图片描述
在这里插入图片描述

方式二

数组也可以采用行内表示法

animal: [Cat, Dog]

yaml纯量

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

  • 字符串
  • 布尔值
  • 整数
  • 浮点数
  • Null
  • 时间
  • 日期
示例
  • 数值直接以字面量的形式表示
number: 12.50
  • 布尔值用true和false表示
isSet: true
  • null使用~表示
parent: ~

如果转换为JavaScript,代码如下:

{ parent: null }
  • 时间采用ISO8601格式
iso8601: 2001-12-14t21:59:43.10-05:00

如果转换为JavaScript,代码如下:

{ iso8601: new Date('2001-12-14t21:59:43.10-05:00') }
  • 日期采用复合 iso8601 格式的年、月、日表示
date: 1976-07-31

如果转换为JavaScript,代码如下:

{ date: new Date('1976-07-31') }
  • YAML 允许使用两个感叹号,强制转换数据类型

e: !!str 123
f: !!str true

如果转换为JavaScript,代码如下:

{ e: '123', f: 'true' }
yaml字符串
  • 字符串默认不使用引号表示;
str: 这是一行字符串

如果转换为JSON,代码如下:

{"str": "这是一行字符串"
}

如果字符串之中包含空格或特殊字符,需要放在引号之中

str: '内容:字符串'

如果转换为JSON,代码如下:

{"str": "内容:字符串"
}

单引号和双引号都可以使用,双引号不会对特殊字符转义


s1: '内容\n字符串'
s2: "内容\n字符串"

如果转换为JSON,代码如下:

{"s1": "内容\\n字符串","s2": "内容\n字符串"
}

单引号之中如果还有单引号,必须连续使用两个单引号转义

str: 'labor''s day'

如果转换为JSON,代码如下:

{"str": "labor's day"
}

字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格

str: 这是一段
多行
字符串

如果转换为JavaScript,代码如下:

{ str: '这是一段 多行 字符串' }

多行字符串可以使用| 保留换行符,也可以使用> 折叠换行

this: |
Foo
Bar
that: >
Foo
Bar

转为 JavaScript 代码如下

{ this: 'Foo\nBar\n', that: 'Foo Bar\n' }
  • 表示保留文字块末尾的换行, - 表示删除字符串末尾的换行

s1: |
Foo
s2: |+
Foo
s3: |-
Foo

转为 JavaScript 代码如下

{ s1: 'Foo\n', s2: 'Foo\n\n\n', s3: 'Foo' }

字符串之中可以插入 HTML 标记

message: |
<p style="color: red">
段落
</p>

转为 JavaScript 代码如下

{ message: '\n<p style="color: red">\n 段落\n</p>\n' }
yaml引用

锚点& 和别名* ,可以用来引用。


defaults: &defaults
adapter: postgres
host: localhost
development:
database: myapp_development
<<: *defaults
test:
database: myapp_test
<<: *defaults

等同于下面的代码

defaults:
adapter: postgres
host: localhost
development:
database: myapp_development
adapter: postgres
host: localhost
test:
database: myapp_test
adapter: postgres
host: localhost

& 用来建立锚点( defaults ), << 表示合并到当前数据, * 用来引用锚点。
示例:


- &showell Steve
- Clark
- Brian
- Oren
- *showell

转为 JavaScript 代码如下

[ 'Steve', 'Clark', 'Brian', 'Oren', 'Steve' ]
http://www.dtcms.com/a/488163.html

相关文章:

  • 使用共享IP的坏处
  • 尤溪建设局网站易记域名网站大全
  • 网站seo诊断报告怎么写可以做私募股权投资的网站
  • python对图片进行二值化
  • Template [Item]PaperNote Error: TypeError: Zotero.ZoteroStyle is undefined
  • 网站排名做不上去吗wordpress 后台主题
  • 网站制作要多长时间网站内容的编辑和更新怎么做的
  • 【个人成长笔记】在Ubuntu中的Linux系统安装 anaconda 及其相关终端命令行
  • 老河口市建设局网站大连高端模板建站
  • 网站排名效果好苏州外贸网站制作
  • dino分类网络onnxruntime和tensorrt部署
  • Vue 响应式原理简易实现
  • 安徽省建设业协会网站项目营销策划公司
  • 网站建设程序员招聘网站开速度几秒
  • 商城程序搭建B2B2C平台的物流轨迹信息展示之在途监控API
  • 临沂国际外贸网站建设网站建设哪个最好
  • 台州黄岩网站建设车床加工东莞网站建设
  • 做薆视频网站网络营销推广的主要特点
  • 上海网站建设高端定制网络服务公司高端 建站
  • 深度解析 OCR识别 技术:从原理到应用生态的全景视角
  • 【原】linux内核RCU锁
  • Java的Object类详解--hashcode
  • 怎么用php自己做网站网址导航网站建设
  • 垂直门户网站都有什么wordpress is sticky
  • ONNXRuntime(CUDA版本)源码编译安装与C++部署Pytorch模型教程
  • JavaScript 01 【基础语法学习】
  • 建设门户网站的目的和需求西安专业做淘宝网站的公司
  • init wordpressseo诊断晨阳
  • 网站运营成本预算好看响应式网站模板下载
  • 建网站软件工具建一个设计网站要多少钱