apiVersion: v1 kind: Service metadata: labels: appName: ${AppName} resEnv: ${AppEnv} resGroup: ${AppName}-${AppEnv} name: devops-svc-${AppName}-${AppEnv} namespace: ${AppName} spec: # kube-proxy 基于 spec.internalTrafficPolicy 的设置来过滤路由的目标服务端点。 当它的值设为 Local 时,只会选择节点本地的服务端点。 当它的值设为 Cluster 或缺省时,Kubernetes 会选择所有的服务端点 # 将 internalTrafficPolicy: Local 改成Cluster 之后所有节点都可以可以curl 通nginx internalTrafficPolicy: Cluster # 指定服务期望的IP地址族的列表。IP地址族可以是IPv4或IPv6 ipFamilies: - IPv4 # 指定Service的IP家族策略。它的可选值有SingleStack、PreferDualStack和RequireDualStack # SingleStack: 表示服务只使用单个IP家族(IPv4或IPv6) # PreferDualStack: 表示服务优先使用双栈(IPv4和IPv6),但在无法提供双栈时会退回到单栈 # RequireDualStack: 表示服务需要双栈支持,如果无法提供双栈,服务将无法创建 ipFamilyPolicy: SingleStack ports: - port: 80 # Service端口 protocol: TCP # 协议 targetPort: 7001 # 容器端口 # 通过标签关联pod selector: appName: ${AppName} resEnv: ${AppEnv} resGroup: ${AppName}-${AppEnv} # 指定选择后端 Pod 的方法。当 spec.sessionAffinity 设置为 ClientIP 时,来自同一个客户端的请求会被转发到同一个后端 Pod sessionAffinity: None # 服务类型 type: ClusterIP