逻辑上的一组 Pod,一种可以访问他们的策略。
需要通过选择算符来确定。
01 定义 Service
apiVersion: v1kind: Servicemetadata:name: my-servicespec:# 服务类型,默认是 ClusterIPtype: ClusterIP# 指定 ClusterIP,不指定,则随机,必须在service-cluster-ip-range 范围内clusterIP: 10.1.1.1# 会话关联sessionAffinity: "clientIP"# 控制来自于外部的流量是如何路由的。 可选值有 Cluster 和 LocalexternalTrafficPolicy: "Cluster"# 控制内部来源的流量是如何转发的。可设置的值有 Cluster 和 LocalinternalTrafficPolicy: "Cluster"selector:app: MyAppports:- name: httpprotocol: TCPport: 80targetPort: 9376# 多端口的 Service- name: httpsprotocol: TCPport: 443targetPort: 9377
- 创建一个 my-service 的 service 对象
- 将请求代理到 TCP 端口 9376
- Pod 标签: “app=MyApp”
- K8S 为改服务分配一个 IP 地址 (Cluster IP)
- 根据 Pod 标签匹配 Pod,然后也发布到也称为 “my-service”的 EndPoint 对象
自动创建 EndPoint 对象?
02 定义没有选择符的 Service
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
ports:
- protocol: TCP
port: 80
targetPort: 9376
不会自动创建 EndPoint 对象,需要手动添加 EndPoint 对象。如何创建 EndPoints 对象参考:
