我想创个网站,邯郸房地产市场信息网,WordPress插件分享,php除了 wordpress1 YAML语言
YAML 语言的设计目标#xff0c;就是方便人类读写。它实质上是一种通用的数据串行化格式。
1.1 基本语法规则
大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键#xff0c;只允许使用空格。缩进的空格数目不重要#xff0c;只要相同层级的元素左侧对齐即…1 YAML语言
YAML 语言的设计目标就是方便人类读写。它实质上是一种通用的数据串行化格式。
1.1 基本语法规则
大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键只允许使用空格。缩进的空格数目不重要只要相同层级的元素左侧对齐即可# 表示注释从这个字符一直到行尾都会被解析器忽略。
1.2 YAML 支持的数据结构有三种
对象键值对的集合又称为映射mapping/ 哈希hashes / 字典dictionary数组一组按次序排列的值又称为序列sequence / 列表list纯量scalars单个的、不可再分的值
以下分别介绍这三种数据结构。
1.2.1 对象
对象的一组键值对使用冒号结构表示。
animal: pets
Yaml 也允许另一种写法将所有键值对写成一个行内对象。
hash: { name: Steve, foo: bar }
1.2.2 数组
一组连词线开头的行构成一个数组。
- Cat
- Dog
- Goldfish
数据结构的子成员是一个数组则可以在该项下面缩进一个空格。
animal:- Cat- Dog- Goldfish
1.2.3 纯量
纯量是最基本的、不可再分的值。以下数据类型都属于 JavaScript 的纯量。
字符串布尔值整数浮点数Null时间日期
2 kubernetes里yaml文件写法
常用字段解释
kubectl explain name.name
必须存在的字段
注意 如果写不全是不让运行pod的 参数名 字段类型 说明 version String 这里是指的k8s API 的版本目前基本是v1可以 用kubectl api-version命令查询 kind String 这里指的是yam文件定义的资源类型和角色比如Pod metadata Object 元数据对象固定值就写 metadata metadata.name String 元数据对象的名字这里由我们编写比如如名POd的名字 metadata namespace String 元数据对象的命名空间由我们自身定义 spec Object 详细定义对象固定值就写Spec spec containers[] list 这里是Spec对象的容器列表定义是个列表 spec containers[].name String 这里定义容器的名字 spec containers[]. image String 这里定义要用到的镜像名称
创建一个最基本的pod
[rootk8s-master01 ~]# vim pod.yaml
apiVersion: v1
kind: Pod
metadata:name: nginx-pod
spec:containers:- name: nginximage: nginx:latestimagePullPolicy: IfNotPresent
kubectl apply -f pod.yaml
主要对象
以下内容可以有可以没有如果没有写系统会添加默认值 参数名 字段类型 说明 spec containers[]. name String 定义容器的名字 spec containers[]. image String 定义要用到的镜像名称 spec containers[]. imagePullPolicy String 走义镜像拉取策路有 Always、 NeverIfNotPresent三个值可选1) Always意思是每次都芸试重新拉取镜像2) Never表示仅使用本地镜像3) IfNotPresent如果本地有镜像就使用本地镜像没有就拉取在线镜像。上面三个值都没设置的话默认是 Always。 spec containers[]. command[] list 指走容器启动命令因为是数组可以指定多个不指定则使用镜像打包时使用的启动命令。 spec containers[]. args[] list 指定容器启动命令参数因为是数组可以指定多个。 spec containers[]. workingDir String 指定容器的工作目录 spec containers[]. volumeMounts[] list 指定容器内部的存储卷配置 spec containers[]. volumeMounts[].name String 指定可以被容器挂载的存储卷的名称 spec containers[]. volumeMounts[].mountrPath String 指定可以被容挂载的存储芢的路径 spec containers[]. volumeMounts[].readOnly String 设置存储卷路径的读写模式ture或者 false,认为读写模式 spec containers[]. ports[] list 指走容器需要用到的满口列表 spec containers[].ports[]. name String 指定端口名称 spec containers[].ports[]. containerPort String 指定容器需要监听的端口号 spec containers[]. ports[]. hostPort String 首定容器所在主机需要监听的端口号默认跟上面 containerPort相同注意设置了 hostPort同一台主机无法启动该容器的相同副本因为主机的端口号不能相同这样会冲突) spec containers[]. ports[]. protocol String 指定端口协议支持TCP和UDP认值为TCP spec containers[]. env[] list 指定容器运行前需设置的环境变量列表 spec containers[].env[]. name String 指定环境变量名称 spec containers[].env[] value String 指走环境变量值 spec containers[]. resources Object 指定资源限制和源请求的值这里开始就是设置容器的资源上限) spec containers[]. resources.limits Object 指定设置容器运行时资源的运行上限 spec containers[]. resources.limits. cpu String 指定CPU的限制单位为core数将用于docker run-cpu- shares参数这里前面文章Pod资源限制有讲过 spec containers[].resources.limits. memory String 指定MEM内存的限制单位为MIB、GiB spec containers[]. resources. requests Object 指定容器启动和调度时的限制设置 spec containers[]. resources. requests. cpu String CPU请求单位为core数容器启动时初始化可用数量 spec containers[]. resources. requests memory String 内存请求单位为MIB、GiB容器启动的初始化可用数量
额外的参数项 参数名 字段类型 说明 spec. restartPolicy String 定义Pod的重启策路可选值为 Alays、 Onfailure默认值为Always。1 Always:Pod-且终止运行则无论容器是如何终止的 kubelet服务都将重启它。2. failure只有Pod以非零退出码终止时 kubeletオ会重启该容器。如果容器正常结束退出码为0),则 kubelet将不会重启它3. Never:Pod终止后 kubelet将退出码报告给 Master不会重启该Pod spec. nodeSelector Object 定义Node的Labe过滤标签以 key: value格式指定 spec. imagePullSecrets Object 定义pu像时便用 secrets名称以 name secretkey格式指定 spec.hostNetwork Boolean 定义是否使用主机网络模式默认值为 false。设置true表示使用宿主机网络不使用 docker网桥同时设置了tue将无法在同一台宿主机上启动第二个副本。