• 【k8s】YAML语言基础


    YAML介绍

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

    >
        >15>
        >Beijing>
    >
    
    • 1
    • 2
    • 3
    • 4
    heima:
      age: 15
      address: Beijing
    
    • 1
    • 2
    • 3

    语法

    • 大小写敏感
    • 使用缩进表示层级关系
    • 缩进不允许使用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     # 字符串过多的情况可以拆成多行,每一行会被转化成一个空格
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
    • maps对象:键值对的集合,又称为映射(mapping)/ 哈希(hash) / 字典(dictionary)

      # 对象
      # 形式一(推荐):
      heima:
        age: 15
        address: Beijing
      # 形式二(了解):
      heima: {age: 15,address: Beijing}
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    • 数组:一组按次序排列的值,又称为序列(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"
              }]
          }]
        }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33

    注意事项

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

    json与yaml互转

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

  • 相关阅读:
    git 提交
    Android Studio编写xml布局不提示控件的部分属性问题的解决
    人工智能:科技魔法赋予生活新意
    在自定义数据集上实现OpenAI CLIP
    2024年第十五届蓝桥杯研究生组题目总结(Java、Python、C++)
    RabbitMQ 如何实现延迟队列?
    RFID技术与WMS仓储管理系统对接有什么优势
    Kotlin小节(二)
    Redis 和 Memcache 的区别
    计算机视觉中的细节问题(二)
  • 原文地址:https://blog.csdn.net/al6nlee/article/details/133282996