资源清单_资源类型_yaml语法_数据类型_yaml文件常用字段

资源清单 资源类型 yaml语法 数据类型 yaml文件常用字段

集群资源分类(按适用性范围分类)

名称空间级别(包括工作负载型资源 服务发现及负载均衡型资源配置与存储型资源 特殊类型的存储卷)

集群级别

元数据级别

k8s中所有的内容都抽象为资源,资源实例化之后叫做对象


工作负载型资源(workload)

Pod   Replicaset   Deployment   StatefulSet   Daemonset   Job   CronJob

服务发现及负载均衡型资源(servicediscovery loadbalance)

Service  Ingress

配置与存储型资源

Volume  CSI(容器存储接口container storage interface)

特殊类型的存储卷

ConfigMap(当配置中心来使用的资源类型)   Secret(存储敏感信息)    DownwardAPIA(把外部环境中的信息输出给容器)

集群级别资源

Namespace  Node  Role   Clusterrole   Rolebinding   ClusterRoleBinding

元数据型资源

HPA  PodTemplate   LimitRange


yaml语法格式

列出pod下的可用的配置字段及用法

kubectl explain pod
kubectl explain pod.apiVersion  # pod下apiVersion下的配置字段

资源清单

在k8s中一般使用yaml格式的文件来创建符合我们期望的pod,这样的yaml文件我们称之为资源清单

语法

yaml(yet another markup language)是一个可读性高,用来表达数据序列的格式,

它以数据为中心,而不是以标记语言为重点


yaml支持的数据结构

对象:键值对集合,又称为映射mapping  哈希hashes  字典dictionary

数组:一组按次序排列的值,又称之为序列sequence 列表list

纯量:单个的不可分割的值

对象类型:键值对表示,冒号间隔

name:xiaoming
age:10

另一种写法
hash: { name: xiaoming, age: 10 }

数组类型

animal
- cat
- dog

另一种写法
animal: [cat, dog]

复合结构

language:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org

纯量

1 字符串 布尔值 整数 浮点数 null 
2 时间 日期

数值直接表示
number: 12.2

布尔值用true和false表示

null用~表示,不写也表示null

时间用ISO0861格式表示
2020-01-03t23:30:21

日期采用ISO0861格式
2020-11-22

!! 强制转换格式
e: !!str 123     强制转换为字符串
f: !!str true    强制转换为字符串

字符串

yaml中的字符串不用引号,除非字符串中包含空格或特殊字符

str: 这是一行字符串
str: '内容: 这是一行字符串'

单引号中的特殊符号不会被转义,双引号中的特殊字符会被转义

str1: '内容\n字符串'
str2: "内容\n字符串"

单引号中还有单引号,需要用单引号转义

str: 'let''s go'

字符串可以写成多行,从第二行开始必须有一个单空格缩进,换行符会被转换为空格

str: 这是一段
  多行
  字符串

多行字符串使用|保留换行符,用>折叠换行符,从第二行开始必须有一个单空格缩进

str: |
 hh
 uu
输出  str: 'hh\nuu\n'
str: >
 hh
 uu
输出  str: 'hh uu\n'     

+表示保留文字块末尾的换行,-表示删除字符串末尾的换行符

str: |-
hh
uu
输出  str: 'hh\nuu'

str: |+          # |+和|的结果一致
hh
uu
输出  str: 'hh\nuu\n'

str: >-
hh
uu
输出  str: 'hh uu'

str: >+
hh
uu
输出  str: 'hh uu\n'

总结

使用| 每行都有换行符

使用> 只有结尾有换行符

使用+ 保留结尾换行符

使用- 删除结尾换行符


posted @   立勋  阅读(11)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示