• k8s-----4、yaml文件,做资源编排和资源对象部署


    1、YAML 文件概述

    • k8s 集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,也 就是可以把需要对资源对象操作编辑到 YAML 格式文件中,我们把这种文件叫做资源清单文 件,通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署 了。YAML 介绍 YAML :仍是一种标记语言。为了强调这种语言以数据做为中心,而不是以标记语言为重点。 YAML 是一个可读性高,用来表达数据序列的格式。

    2、YAML 文件书写格式

    • (1)YAML 基本语法 * 使用空格做为缩进 * 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 * 低版本缩进时不允许使用 Tab 键,只允许使用空格 * 使用#标识注释,从这个字符一直到行尾,都会被解释器忽略
    • (2)一般开头缩进两个空格,字符后缩进一个空格。
    • (3)YAML 支持的数据结构 * 对象 键值对的集合,又称为映射(mapping) / 哈希(hashes) / 字典(dictionary)
    • (4)数组: 一组按次序排列的值,又称为序列(sequence) / 列表 (list)
    • (5)纯量(scalars): 单个的、不可再分的值
    • (6) - - - 表示新的Yaml文件开始

    3、资源清单描述方法

    • (1)在 k8s 中,一般使用 YAML 格式的文件来创建符合我们预期期望的 pod,这样的 YAML 文件称为资源清单。

    • (2)常用字段 必须存在的属性

    • 可以对比下面两张图,分析每一个元素代表的含义
      在这里插入图片描述
      在这里插入图片描述

    4、yaml文件编写

    4.1 没有真正部署资源的过程

    • 通过kubectl create 生成yaml文件,一般用于没有真正部署资源的过程
    [root@master ~]# kubectl create deployment web --image=nginx -o yaml --dry-run > my1.yaml  ##直接生成
    W0504 17:12:42.044718   49938 helpers.go:553] --dry-run is deprecated and can be replaced with --dry-run=client.
    [root@master ~]# ll my1.yaml 
    -rw-r--r-- 1 root root 376 May  4 17:12 my1.yaml
    [root@master ~]# cat my1.yaml 
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      creationTimestamp: null
      labels:
        app: web
      name: web
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: web
      strategy: {}
      template:
        metadata:
          creationTimestamp: null
          labels:
            app: web
        spec:
          containers:
          - image: nginx
            name: nginx
            resources: {}
    status: {}
    [root@master ~]# 
    
    • 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

    4.2 资源已经存在的时候

    • 通过Kubectl get 命令导出yaml文件
    [root@master ~]# kubectl get deploy nginx -o=yaml --export >my2.yaml   #文件内容很多
    
    • 1

    5、yaml文件中必须存在的属性

    在这里插入图片描述

  • 相关阅读:
    MapReduce(二)
    Vivado综合属性系列之十一 GATED_CLOCK
    外汇天眼:外汇储备减少对新兴市场货币构成风险
    内网渗透之Windows反弹shell(四)
    西华大学计算机考研资料汇总
    面试中常用消息中间件对比
    Win11磁盘分区后在恢复之前分区的方法介绍
    Verilog 避免 Latch
    ARM 重定位引入和链接脚本
    英语学习笔记30——What must I do?
  • 原文地址:https://blog.csdn.net/qwerty1372431588/article/details/124573275