endpoint

svc原本与pod是不相连的,svc通过标签选择器获取pod地址并放在endpoint中,当客户端访问服务端时会从endpoint中选择一个,并将传入连接重定向到该位置监听的服务器。

当服务的endpoint和服务解耦后,可以分别手动配置和更新它们。(如果svc创建时不指定pod标签则需要自定义endpoint,因为svc需要通过pod标签来获取pod信息)

手动配置

apiVersion: v1
kind: Service
metadata:
  name: external-service              这个要与endpoint中的名字一样
spec:
  type: NodePort
  ports:
  - port: 80                                    集群内部端口
    targetPort: 8080                       pod服务中暴露的端口
    nodePort: 30081                      外部访问端口

---
apiVersion: v1
kind: Endpoints
metadata:
  name: external-service                这个要与svc中的名字一样
subsets:
  - addresses:
    - ip: 100.118.53.66
    - ip: 100.118.53.67
    ports:
    - port: 8080                                 pod中服务暴露的端口

你可能感兴趣的:(endpoint)