从头盔图表为AWS Network Load Balancer配置粘性会话

时间:2020-08-26 09:03:45

标签: kubernetes kubernetes-helm amazon-eks

我正在编写将Web服务部署到eks的头盔图。 我需要为运行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,但仍禁用目标组中的粘性会话。

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

1 个答案:

答案 0 :(得分:0)

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

此功能属于NLB的TargetGroup。

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

创建后,TargetGroup的属性可以为modified

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

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