yaml文件详解
一、概述
Kubernetes 支持YAML和 JSON 格式管理资源对象
JSON 格式:主要用于api接口之间消息的传递
YAML格式:用于配置和管理,YAML是一种简洁的非标记性语言,内容格式人性化,容易读
YAML语法格式:
(1)大小写敏感
(2)使用缩进表示层级关系
(3)不支持Tab键制表符缩进,只使用空格缩进
(4)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格
(5)字符后缩进一个空格,如冒号,逗号,短横杆(-)等
(6)"—“表示YAML格式,一个文件的开始,用于分隔文件间
(7)”#”表示注释
查看api资源版本标签
kubectl api-versions
二、详解k8s中的port
port
port是 k8s集群内部访问service的端口,即通过 clusterTP: port 可以从 Pod所在的 Node 上访问到 service。
nodePort
nodePort 是外部访问 k8s集群中 service 的端口,通过 nodeIP: nodePort 可以从外部访问到某个service。
targetPort
targetPort 是 Pod 的端口,从 port 或 nodePort 来的流量经过kube-proxy 反向代理负载均衡转发到后端Pod的targetPort上,最后进入容器。
containerPort
containerPort是 Pod 内部容器的端口,targetPort映射到 containerPort。
三、实操
1.创建一个yaml文件
mkdir demo
cd demo
vim nginx-deployment.yaml
2.创建资源对象
kubectl create -f nginx-deployment.