k8s之service详解
Posted dkzou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s之service详解相关的知识,希望对你有一定的参考价值。
apiVersion: v1 # 版本
kind: Service # 类型
metadata: #元数据 类型string
name: test #Service名称 类型string
namespace: test #命名空间,不指定时默认为default命名空间
labels: #自定义标签属性列表 类型string
- name: string
annotations: #自定义注解属性列表
- name: string
spec: #详细描述 类型list[]
selector: [] #Label Selector配置,选择具有指定label标签的pod作为管理范围
type: string #service的类型,指定service的访问方式,默认ClusterIP
#ClusterIP:虚拟的服务ip地址,用于k8s集群内部的pod访问,在Node上kube-porxy通过设置的iptables规则进行转发
#NodePort:使用宿主机端口,能够访问各Node的外部客户端通过Node的IP和端口就能访问服务器
#LoadBalancer:使用外部负载均衡器完成到服务器的负载分发,
#需要在spec.status.loadBalancer字段指定外部负载均衡服务器的IP,并同时定义nodePort和clusterIP用于公有云环境。
clusterIP: string #虚拟服务IP地址,当type=ClusterIP时,如不指定,则系统会自动进行分配,也可以手动指定。当type=loadBalancer,需要指定
sessionAffinity: string #是否支持session,可选值为ClietIP,默认值为空,ClientIP表示将同一个客户端(根据客户端IP地址决定)的访问请求都转发到同一个后端Pod
ports: #service需要暴露的端口列表
- name: string #端口名称 类型string
protocol: TCP #端口协议,支持TCP或UDP,默认TCP 类型string
port: 80 #服务监听的端口号 类型int
targetPort: 8080 #需要转发到后端的端口号 类型int
nodePort: 8080 #当type=NodePort时,指定映射到物理机的端口号 类型:int
status: #当type=LoadBalancer时,设置外部负载均衡的地址,用于公有云环境
loadBalancer: #外部负载均衡器
ingress: #外部负载均衡器
ip: string #外部负载均衡器的IP地址
hostname: string #外部负载均衡器的机主机
以上是关于k8s之service详解的主要内容,如果未能解决你的问题,请参考以下文章