Pod因为Node节点的宕机会导致其重新调度,这样Pod就没有固定的ip,那么之前的Pod就会失联,为了防止重新调度的Pod能够找到就需要进行服务发现。
这样虽然Pod被调度到另一个节点上,但是也可以继续被发现,不至于失联。
定义一组Pod的访问策略:
前台请求,后台将其进行负载均衡,然后分发到不同的Pod上。Service与Pod之间通过label与selector进行关联,这与Controller与Pod之间建立关联的方式一样。
对一些应用的某些部分,可能希望将其暴漏给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
Controller与Service系列(二) Service基本概念
原文:https://www.cnblogs.com/shenjianping/p/14902469.html