【问题标题】:Configure sticky session for AWS Network Load Balancer from helm chart从 helm 图表为 AWS 网络负载均衡器配置粘性会话
【发布时间】:2020-08-26 09:03:45
【问题描述】:

我正在编写用于将 Web 服务部署到 eks 的 helm chart。 我需要为运行 Web 应用程序的 pod 部署负载均衡器。 我正在创建部署网络负载均衡器的服务

apiVersion: v1
kind: Service
metadata:
  name: my-service
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
spec:
  selector:
    app: "MyApp"
  type: LoadBalancer
  ports:
  - name: http
    port: {{ .Values.app.port }}
    protocol: TCP
    targetPort: {{ .Values.app.port }}

我需要此应用程序的粘性会话。

我曾尝试将sessionAffinity: ClientIP 添加到图表中,但失败了。不会创建 LoadBalancer。

LoadBalancer 以其他方式创建,但目标组中的粘性会话仍被禁用。

通过 helm chart 为 NLB 配置粘性会话的正确方法是什么?

【问题讨论】:

  • 失败意味着您无法创建service或者您无法获取externalIP?当您使用sessionAffinity: ClientIP 时,它的外观如何?你收到了什么错误?
  • 服务已创建且负载平衡器未...服务清单中没有负载平衡器 url,控制台中没有负载平衡器...外部 IP 不在范围内。

标签: kubernetes kubernetes-helm amazon-eks


【解决方案1】:

由于 AWS 功能序列,这是不可能的。

此功能属于 NLB 的 TargetGroup。

当您create LoadBalancer 时,您无法编辑目标组的属性。

TargetGroup 创建后的属性可以是modified

Kubernetes does not implement 任何注释以更改此标志。

结论:创建 LoadBalancer 后运行 awscli 脚本以更改粘性会话标志。

【讨论】:

    猜你喜欢
    • 2018-04-05
    • 2021-09-06
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 2018-11-05
    • 2013-04-18
    • 2016-08-12
    • 2018-04-02
    相关资源
    最近更新 更多