【k8s】YAML语言基础

文章目录

YAML介绍

YAML是一个类似于XML、JSON的标记语言。强调以数据为中心,并不是以标记语言为中心

yaml 复制代码
<heima>
    <age>15</age>
    <address>Beijing</address>
</heima>
yaml 复制代码
heima:
  age: 15
  address: Beijing

语法

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用tab,只允许空格( 低版本限制 )
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • '#'表示注释,从这个字符一直到行尾,都会被解析器忽略
  • 在k8s中,只需要知道lists、maps即可

支持的数据类型

  • 纯量:单个的、不可再分的值

    复制代码
    # 纯量, 就是指的一个简单的值,字符串、布尔值、整数、浮点数、Null、时间、日期
    # 1 布尔类型
    c1: true (或者True)
    # 2 整型
    c2: 234
    # 3 浮点型
    c3: 3.14
    # 4 null类型 
    c4: ~  # 使用~表示null
    # 5 日期类型
    c5: 2018-02-17    # 日期必须使用ISO 8601格式,即yyyy-MM-dd
    # 6 时间类型
    c6: 2018-02-17T15:02:31+08:00  # 时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区
    # 7 字符串类型
    c7: heima     # 简单写法,直接写值 , 如果字符串中间有特殊字符,必须使用双引号或者单引号包裹 
    c8: line1
        line2     # 字符串过多的情况可以拆成多行,每一行会被转化成一个空格
  • maps对象:键值对的集合,又称为映射(mapping)/ 哈希(hash) / 字典(dictionary)

    复制代码
    # 对象
    # 形式一(推荐):
    heima:
      age: 15
      address: Beijing
    # 形式二(了解):
    heima: {age: 15,address: Beijing}
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

    复制代码
    # 数组
    # 形式一(推荐):
    address:
      - 顺义
      - 昌平  
    # 形式二(了解):
    address: [顺义,昌平]
    
    spec:
      containers:
        - name: front-end
          image: nginx
          ports:
            - containerPort: 80
        - name: flaskapp-demo
          image: jcdemo/flaskapp
          ports: 8080
    ------------------------------------------------
    "spec": {
        "containers": [{
            "name": "front-end",
            "image": "nginx",
            "ports": [{
                "containerPort": "80"
            }]
        }, {
            "name": "flaskapp-demo",
            "image": "jcdemo/flaskapp",
            "ports": [{
                "containerPort": "5000"
            }]
        }]
      }

注意事项

  • 书写yaml切记: 后面要加一个空格
  • 如果需要将多段yaml配置放在一个文件中,中间要使用---分隔

json与yaml互转

https://www.json2yaml.com/convert-yaml-to-json

相关推荐
王解1 分钟前
第一篇:初识 nanobot —— 一个微型 AI Agent 的诞生
人工智能·nanobot
好学且牛逼的马2 分钟前
从“混沌初开”到“有序统一”:Java集合框架发展历程与核心知识点详解
前端·数据库·python
瓦力的狗腿子27 分钟前
AI技术的发展为卫星控制系统研发带来的影响与思考
人工智能
人工智能AI技术1 小时前
YOLOv9目标检测实战:用Python搭建你的第一个实时交通监控系统
人工智能
小雨中_1 小时前
2.7 强化学习分类
人工智能·python·深度学习·机器学习·分类·数据挖掘
小义_1 小时前
【Docker】知识八
linux·docker·云原生
拯救HMI的工程师1 小时前
【拯救HMI】工业HMI字体选择:拒绝“通用字体”,适配工业场景3大要求
人工智能
开开心心_Every1 小时前
CDR版本转换工具,支持多版本互转免升级软件
linux·运维·服务器·云原生·edge·pdf·serverless
lczdyx1 小时前
【胶囊网络】01-2 胶囊网络发展历史与研究现状
人工智能·深度学习·机器学习·ai·大模型·反向传播
AomanHao1 小时前
【ISP】基于暗通道先验改进的红外图像透雾
图像处理·人工智能·算法·计算机视觉·图像增强·红外图像