YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达资料序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中获得灵感。Clark Evans在2001年首次发表了这种语言[1],另外Ingy döt Net与Oren Ben-Kiki也是这语言的共同设计者[2]。目前已经有数种程序语言或手稿语言支援(或者说解析)这种语言。
YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递回缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)[3],但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重新命名。
就用k0s里面部署的yaml来进行举例
apiVersion: apps/v1 # key值叫apiVersion,value是apps/v1
kind: Deployment
maps的value也可以是一个maps
metadata: # 这边就是阶层式的宣告,metadata底下有个叫name的key-value设定值,基本上是使用2个空白进行同阶的处理,大原则就是一致的缩排空白数量
name: k0s-nginx
如果在yaml中有array的资料想要使用,可以使用-
进行资料分隔,
list的value也可以是maps,maps的value也可以是list,视自己的需求来决定yaml怎麽组成
spec:
containers:
- command
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
- args: # 同args : [proxy,sidecar]
- proxy
- sidecar
apiVersion
: 简单说就是版本号,目前是v1版,但是这个版本还是会根据k8s的版本迭代。kind
: 要建立的资源类型,有Pod、Deployment、Job、Ingress、Service,主要还是以Deployment为主要讲解类型。metadata
: pod的meta资讯
spec
: k8s的参数,有container、name、image、command、args、workingDir、ports、env、resource、volumeMounts、livenessProbe、readinessProbe、livecycle、terminationMessagePath、imagePullPolicy、securityContext、stdin、stdinOnce、tty..等等。以下为一个简单的nginx Deployment yaml档
apiVersion: apps/v1 # 版本v1
kind: Deployment
metadata:
name: k0s-nginx
spec:
selector:
matchLabels:
app: nginx
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
<<: Day08 Kibana - Query DSL 查询语法介绍
NestJs - Guard 验证分为两种,登入权限验证以及角色验证 举例说明:我们将 API 分为...
前一天讲到合约(Contracts)和启动器(Launcher)取代StartActivityFor...
放射线背景 教学原文参考:放射线背景 这篇文章会介绍使用 GIMP 的渐层填色,搭配滤镜的「小小星球...
零信任 零信任是一种用於访问控制的网络安全范例,具有以数据为中心,细粒度,动态且具有可见性的特徵。 ...
今天来讲讲手机app截图安全性问题 IOS 截图是系统层级因此安全问题不大,但还是需要适时提醒使用...