Kubernetes Yaml文件格式

本文深入探讨Kubernetes中Yaml文件的语法要求与数据结构,包括对象、数组及纯量的定义,以及Deployment资源控制层的具体配置示例,帮助读者理解如何正确使用Yaml进行Kubernetes资源的声明式管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

语法要求

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • # 表示注释,从这个字符一直到行尾,都会被解析器忽略

数据结构

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

对象类型:对象的一组键值对,使用冒号结构表示(冒号后面必须空格后在填写)

apiVersion: apps/v1  
kind: Deployment
#冒号后都有空格

数组类型:一组连词线开头的行,构成一个数组

  • 符号(-)不体现在上下层级中
  • 符号(-)必须加空格后输入
containers:
   - name: ldap-web    
     image: ldap_web_manage 
     ports:
错误写法
containers:
     -name: ldap-web    #体现在这行     
     image: ldap_web_manage 
     ports:

纯量:针对的是赋值,冒号的右边

  • 支持所有的数据类型:字符串、布尔值、整数、浮点数、Null

Kubernetes Yaml文件

  • 控制层
    • 资源控制层(Deployment、RelicaSet、StatefulSet、Service、Pod等等)
    • labels标准选择器(控制Service映射选择,副本数控制选择、NodeSelector调度)
  • 被控制层(Pod、容器)

在这里插入图片描述

apiVersion: apps/v1
kind: Deployment
metadata:
 name: ldapweb-deployment

spec:
 replicas: 2
 selector:
  matchLabels:
   app: ldap-web
   ver: v1
 
 template:
  metadata:
   labels:
    app: ldap-web
    ver: v1
  spec:
   containers:
   - name: ldap-web
     image: ldap_web_manage 
     ports:
     - containerPort: 8080
     imagePullPolicy: Never
     securityContext:
        privileged: true

注意点:

  1. 区分层级,每种资源层级不同
 kubectl explain deployment #explain+资源属性,第一层级,并有详细使用说明
 kubectl explain deployment.spec #层级只要后面加点跟参数。第二层级
  1. 参数属性是否加 - (主要也要空格,不算层级格式)
    在这里插入图片描述

这个有点不是太明白,提示需要的,但是加上反而不对,好像只有容器部分需要加

kubectl explain deployment.spec.template.spec.containers
在这里插入图片描述

  1. 冒号后空格
  2. containers 下层 无非就是非常类似docker run 后面跟着很多参数的添加,需要什么功能的可以到这个下面查找

Yaml参数解释可以参考:点击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值