apiVersion: v1
kind: Service
metadata
name <string> # 在一个名称空间不能重复
namespace <string> # 指定名称空间,默认defalut
labels <map[string]string> # 标签
annotations <map[string]string> # 注释
spec
selector <map[string]string> # 仅支持key/value方式定义选择器
type <string> # service暴露方式
# ClusterIP: 通过集群的VIP方式,这种方式下仅能在集群内部访问,默认值
# NodePort: 通过暴露node端口来将流量路由到clusterIP,从而实现从集群外部访问service功能,且需要宿主机开启监听端口,容易出现端口冲突
# LoadBalancer: 使用云提供商的负载均衡器,可以向外部暴露服务。外部的负载均衡器可以路由到NodePort服务和ClusterIP服务
# ExternalName: 通过返回 CNAME 和它的值,可以将服务映射到 externalName 字段的内容
clusterIP <string> # 定义集群VIP地址
# 当指定确定IP地址时,会以该IP地址为准
# 当指定为None时,为 headless service
ports <[]Object> # 指定端口映射
name <string> # 端口名称
port <integer> -required-# 指定service端口
targetPort <string> # 指定pod端口
nodePort <integer> # 指定node端口,仅在NodePort类型使用.3000-29999之间
sessionAffinity <string> # 是否启用粘性会话,