K8s Service字段

174 阅读1分钟
apiVersion: v1  # 创建该对象所使用的 Kubernetes API 的版本
kind: Service   # 想要创建的对象的类别
metadata:       # 帮助唯一标识对象的一些数据
  annotations: {}  #  注解为对象附加任意的非标识的元数据
  labels:          # 添加标签,用于标识该对象
    k8s.kuboard.cn/layer: monitor
    k8s.kuboard.cn/name: skywalking-ui
  name: skywalking-ui  # 标识对象的名字
  namespace: default   # 该对象所属的名称空间
  resourceVersion: '19582642'  # 该对象的版本号,更新资源时候和etcd存储的版本号进行对比,不一样不让更新
spec:  # 你所期望的该对象的状态
  clusterIP: 10.10.68.159   # 集群作用域的虚拟IP, 客户端可以使用该虚拟 IP 地址进行连接
  clusterIPs:   # 指定多个作用域的虚拟IP
    - 10.10.68.159
  externalTrafficPolicy: Cluster  # 流量可以转发到其他节点上的Pod, Local表示:流量只发给本机的Pod
  ports:
    - name: 3fjtqj      # 在该Service中端口的名称,如果使用endpoints时候,并且endpoints有多个端口时候,需要注意名字要对应
      nodePort: 8082    # 当类型为 NodePort 或 LoadBalancer 时,该Service 暴露在节点上的端口
      port: 8080        # 该Servcice暴露的端口
      protocol: TCP     # 此端口的 IP 协议
      targetPort: 8080  # 所关联的Pod的端口
  selector:             # 将 Service 流量路由到具有与此 selector 匹配的标签键值对的 Pod
    k8s.kuboard.cn/layer: monitor
    k8s.kuboard.cn/name: skywalking-ui
  sessionAffinity: None  # 用于维护会话亲和性
  type: NodePort         # 该 Service 的暴露方式
status:  # 表示 Service 的当前状态
  loadBalancer: {}   # 包含负载均衡器的当前状态