其他分享
首页 > 其他分享> > Controller与Service系列(二) Service基本概念

Controller与Service系列(二) Service基本概念

作者:互联网

一、什么是Service

通过创建 Service,可以为一组具有相同功能的容器应用提供一个统一的入口地 址,并且将请求负载分发到后端的各个容器应用上。所以service的存在基于:

1、服务发现

Pod因为Node节点的宕机会导致其重新调度,这样Pod就没有固定的ip,那么之前的Pod就会失联,为了防止重新调度的Pod能够找到就需要进行服务发现。

 这样虽然Pod被调度到另一个节点上,但是也可以继续被发现,不至于失联。

2、负载均衡

定义一组Pod的访问策略:

前台请求,后台将其进行负载均衡,然后分发到不同的Pod上。Service与Pod之间通过label与selector进行关联,这与Controller与Pod之间建立关联的方式一样。

二、Service类型

 对一些应用的某些部分,可能希望将其暴漏给k8s集群外部的IP地址,Service允许指定你需要的Service类型,默认的是ClusterIP类型。

 在之前常用的对外暴露端口使用的就是NodePort:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: NodePort
  selector:
    app: MyApp
  ports:
      # 默认情况下,为了方便起见,`targetPort` 被设置为与 `port` 字段相同的值。
    - port: 80
      targetPort: 80
      # 可选字段
      # 默认情况下,为了方便起见,Kubernetes 控制平面会从某个范围内分配一个端口号(默认:30000-32767)
      nodePort: 30007

 

 

 

 

 

 

 

标签:负载,服务,Service,Controller,NodePort,ClusterIP,Pod,基本概念
来源: https://www.cnblogs.com/shenjianping/p/14902469.html