Files
kenaito-k8sfiles/statefulset/v20240713/service.yaml
T

34 lines
1.5 KiB
YAML

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