kubernetes中部署容器化应用,yaml是专门用来写配置文件的语言,yaml是专门用来写配置文件的语言,非常简洁和强大。
她的基本语法规则如下:
大小写敏感
使用缩进表示层级关系
缩进时不允许使用tab键,只允许使用空格,新版可以使用tab
缩进的空格数量不重要,只要相同层级的元素左对齐
kubernetes中,我们只需要了解两种结构类型
lists maps 列表 字典
也就是说lists的maps 和maps的lists,
maps
我们都知道maps是字典,就是一个key:value的键值对,maps可以让我们更加方便的去书写配置信息
---
apiVersion: v1
kind: Pod
第一行是分隔符,是可选的,在单一文件中,可用连续三个连字符区分多个文件,这里我们可以看到,有两个键,kind apiVersion,他们对应的值分别是v1和pod
--- apiVersion: v1 kind: Pod metadata: name: apply labels: app: web
上面的yaml文件,metadata这个key对应的值就是一个maps,而且嵌套的labels这个KEY的值又是一个map,你可以根据自己的情况进行多层嵌套。yaml处理器是根据行缩进来知道内容间的关联性。比如我们上面的yaml文件。我们可以看到name和labels是相同级别的缩进,所以yaml处理器就知道了他们属于同一个map,而app是labels的值是因为app的缩进更大。
lists:
args - Cat - Dog - Fish
你可以有任何数据的项在列表中,每个项定义-开头,与父元素之间可以缩进可以不缩进
---apiVersion: v1
kind: Pod
metadata:
name: deploy
labels:
app: web
spec:
containers:
-name: front-end
images: nginx
ports:
-containerPors: 80
-name :flashapp-demo
image: nginx
ports:
- containerPort: 80
比如这个yaml文件,我们定义了一个叫list对象,每个子项都有name,image,ports组成,买个portsd都有一个key为containerPort的map组成。
上面我们了解了yaml文件的基本语法,现在至少可以保证我们编写的yaml文件语法是合法的,那么要怎么编写符合kubernetesAPI对象的资源清单呢
除了查文档以外,还可以kubectl explain命令来了解



