0
点赞
收藏
分享

微信扫一扫

kubernetes之yaml文件介绍


文章目录

  • ​​yaml文件简介​​
  • ​​yaml文件基础​​
  • ​​Maps​​
  • ​​简单​​
  • ​​复杂​​
  • ​​Lists​​
  • ​​k8s的yaml文件样例​​

yaml文件简介

YAML(IPA: /ˈjæməl/)是一个可读性高的语言,参考了XML、C、Python等。

理解:Yet Another Markup Language

后缀:可以是.yml或者是.yaml,更加推荐.yaml,其实用任意后缀都可以,只是阅读性不强

yaml文件基础

- 区分大小写
- 缩进表示层级关系,相同层级的元素左对齐
- 缩进只能使用空格,不能使用TAB
- "#"表示当前行的注释
- 是JSON文件的超级,两个可以转换
- ---表示分隔符,可以在一个文件中定义多个结构
- 使用key: value,其中":"和value之间要有一个英文空格

Maps

简单

apiVersion: v1
kind:

---表示分隔符,可选。要定义多个结构一定要分隔

apiVersion表示key,v1表示value,英文":"后面要有一个空格

kind表示key,Pod表示value

也可以这样写apiVersion: "v1"

转换为json

{
"apiVersion": "v1",
"kind": "Pod"
}

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app:

复杂

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app:

metadata表示key,下面的内容表示value,该value中包含两个直接的key:name和labels

name表示key,nginx-deployment表示value

labels表示key,下面的表示value,这个值又是一个map

app表示key,nginx表示value

相同层级的记得使用空间缩进,左对齐

{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"name": "nginx-deployment",
"labels": {
"app": "nginx"
}
}
}

Lists

apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: myapp-container01
image: busybox:1.28
- name: myapp-container02
image: busybox:1.28

containers表示key,下面的表示value,其中value是一个数组

数组中有两个元素,每个元素里面包含name和image

image表示key,myapp-container表示value

转成json

{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "myapp",
"labels": {
"app": "myapp"
}
},
"spec": {
"containers": [{
"name": "myapp-container01",
"image": "busybox:1.28",
},
{
"name": "myapp-container02",
"image": "busybox:1.28",
}]
}
}

k8s的yaml文件样例

官网
​​​https://kubernetes.io/docs/reference/​​

# yaml格式对于Pod的定义:
apiVersion: v1 #必写,版本号,比如v1
kind: Pod #必写,类型,比如Pod
metadata: #必写,元数据
name: nginx #必写,表示pod名称
namespace: default #表示pod名称属于的命名空间
labels:
app: nginx #自定义标签名字
spec: #必写,pod中容器的详细定义
containers: #必写,pod中容器列表
- name: nginx #必写,容器名称
image: nginx #必写,容器的镜像名称
ports:
- containerPort: 80

k8s yaml文件 属性介绍

kubernetes之yaml文件介绍_yaml文件介绍

​​https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/​​

kubernetes之yaml文件介绍_缩进_02


举报

相关推荐

0 条评论