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 #外部负载均衡器的机主机

 

posted @ 2023-01-30 09:51  dkzou  阅读(151)  评论(0编辑  收藏  举报