version | v1 | 1 | string |
kind | Service | 1 | string |
metadata | 元数据 | 1 | object |
metadata.name | Service名称 | 1 | string |
metadata.namespace | 命名空间 | 1 | string |
spec | 详细描述 | 1 | object |
spec.selector[] | 标签选择器 | 1 | list |
spec.type | Service类型,默认为ClusterIP。(1)ClusterIP:虚拟的服务IP地址,用于k8s集群内部的pod访问。(2)NodePort:使用宿主机端口,让外部客户端能通过访问node的IP地址和端口号就能访问服务。(3)LoadBalancer:用外接负载均衡器完成到服务的负载分发,需在spec.status.loadbalancer字段指定外部负载均衡器的IP地址,并同时定义nodeport和clusterIP,用于公有云环境 | 1 | string |
spec.clusterIP | 虚拟服务IP地址,注:当type=LoadBalancer时,必须手动指定 | 0 | string |
metadata.labels[] | 标签属性列表 | 0 | list |
metadata.annotation[] | 注释属性列表 | 0 | list |
spec.sessionAffinity | 是否支持session,可选值为ClientIP,默认为空。ClientIP:表示将同一个客户端的访问请求都转发到同一个后端pod | 0 | string |
spec.ports[] | Service需要暴露的端口列表 | 0 | list |
spec.ports[].name | 端口名称 | 0 | string |
spec.ports[].protocol | 端口协议,默认tcp,支持udp | 0 | string |
spec.ports[].port | Service监听的端口号 | 0 | int |
spec.ports[].targetPort | 需要转发到后端的端口号 | 0 | int |
spec.ports[].nodePort | 当spec.type=NodePort时,指定映射到物理机的端口号 | 0 | int |
Status | 当spec.type=LoadBalancer时,设置外部负载均衡器的地址,用于公有云环境 | 0 | object |
status.LoadBalancer | 外部负载均衡器 | 0 | object |
status.LoadBalancer.ingress | 外部负载均衡器 | 0 | object |
status.LoadBalancer.ingress.ip | 外部负载均衡器的IP地址 | 0 | string |
status.LoadBalancer.ingress.hostname | 外部负载均衡器的主机名 | 0 | string |