【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

相关推荐
万博智云OneProCloud1 小时前
GPU 资源池化最佳实践:规划、调度、监控与运营的五步方法
kubernetes·算力调度·ai基础设施·gpu池化·agione·powerone
宸津-代码粉碎机1 小时前
OpenAI 连夜迎战 Grok Bot 和 Muse:AI 智能体从 “会聊天” 到 “能办事”,现在入场还来得及吗
java·大数据·人工智能·分布式·python
weixin_511255212 小时前
MySQL升级记录
数据库·mysql
程序猿乐锅3 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
做萤石二次开发的哈哈3 小时前
视频解码器怎么对接?解码上墙、电视墙开窗与场景切换的ISAPI接入实战
人工智能·物联网·监控·视频编解码·大屏端·萤石开放平台·蓝海aiot一站式工作台
Leo.yuan3 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
长谷深风1113 小时前
Tool与Skill:AI能力设计的分水岭
java·人工智能·ai·大模型·aiagent
科技观察哨3 小时前
六足平台选型与纳米定位系统集成:HEB-640六自由度位移台在半导体光刻对准中的参数边界与国产替代评估
前端·人工智能
做运维的阿瑞3 小时前
数据库增删改的安全写法
数据库·sql·mysql
云上先途3 小时前
任务智能体可以自动完成哪些类型工作,是不是只能做简单重复操作?
大数据·人工智能