给K8S编写yaml对象
YAML(IPA: /ˈjæməl/)是一个可读性高的语言,参考了XML、C、Python等。
理解:Yet Another Markup Language
后缀:可以是.yml或者是.yaml,更加推荐.yaml
基础语法
- 区分大小写
- 缩进表示层级关系,相同层级的元素左对齐
- 缩进只能使用空格,不能使用TAB
- "#"表示当前行的注释
- 是JSON文件的超级,两个可以转换
- —表示分隔符,可以在一个文件中定义多个结构
- 使用key: value,其中":"和value之间要有一个英文空格
举例说明
# 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 #表示容器的端口
- apiVersion 不同版本支持的标记不一样 所有的key都是标记的意思
- kind就是对象 Examples:
Pod
,ReplicationController
,Service
,Namespace
,Node
官方参考 https://kubernetes.io/docs/reference/
api文档:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/