如何将会话关联设置为;“客户端IP、端口和协议”;在Kubernetes服务

如何将会话关联设置为;“客户端IP、端口和协议”;在Kubernetes服务,kubernetes,gcp-load-balancer,Kubernetes,Gcp Load Balancer,我在GKE有一个Kubernetes服务。当前它具有会话关联:ClientIP。在GCP负载平衡器控制台中,显示为“客户端IP” 我应该将其设置为什么值,以便在GCP负载平衡器控制台中显示为“客户端IP、端口和协议” 我看到的所有文件都提到这一点 会话关联可以指定为“ClientIP”或“no”(默认情况下)。没有人告诉我还有第三个选项,而如果您检查GCP负载平衡器,它有多个会话关联选项:无;客户端IP;客户端IP和协议;客户端IP、端口和协议 这是服务文件: --- apiVersion: v

我在GKE有一个Kubernetes服务。当前它具有会话关联:ClientIP。在GCP负载平衡器控制台中,显示为“客户端IP”

我应该将其设置为什么值,以便在GCP负载平衡器控制台中显示为“客户端IP、端口和协议”

我看到的所有文件都提到这一点 会话关联可以指定为“ClientIP”或“no”(默认情况下)。没有人告诉我还有第三个选项,而如果您检查GCP负载平衡器,它有多个会话关联选项:无;客户端IP;客户端IP和协议;客户端IP、端口和协议

这是服务文件:

---
apiVersion: v1
kind: Service
metadata:
  namespace: test
  name: test
  annotations:
    cloud.google.com/load-balancer-type: Internal
spec:
  type: LoadBalancer
  ports:
    - port: XXX
      protocol: TCP
      targetPort: XXX
      name: XXX
  selector:
    app: XXX
  sessionAffinity: ClientIP

会话关联,有时称为粘性会话,将来自最终用户的所有请求与单个pod关联。这意味着从客户端到pod的所有流量都将定向到同一pod

如果要确保来自特定客户端的连接 每次传递到同一Pod时,您可以选择会话关联 基于客户端的IP地址,通过设置 service.spec.sessionAffinity到“ClientIP”

从:

sessionAffinity

支持“ClientIP”和“None”。用于维护会话关联性。 启用基于客户端IP的会话关联必须是ClientIP或None。 默认为“无”。更多信息:


因此,
ClientIP
None
-您没有第三选择。

显示内部TCP/UDP负载平衡有以上4个选项。我如何使用Kubernetes服务实现最后一个选项?不确定是否可能。这很好,谢谢Vitalii。