从 helm 图表为 AWS 网络负载均衡器配置粘性会话
Configure sticky session for AWS Network Load Balancer from helm chart
我正在编写用于将 Web 服务部署到 eks 的 helm chart。
我需要为 pods 运行 Web 应用程序部署负载均衡器。
我正在创建部署网络负载均衡器的服务
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 配置粘性会话的正确方法是什么?
由于 AWS 功能序列,这是不可能的。
此功能属于 NLB 的 TargetGroup。
当您 create LoadBalancer 时,您无法编辑目标组的属性。
TargetGroup创建后属性可以是modified.
Kubernetes does not implement 更改此标志的任何注释。
结论:创建 LoadBalancer 后 运行 用于更改粘性会话标志的 awscli 脚本。
我正在编写用于将 Web 服务部署到 eks 的 helm chart。 我需要为 pods 运行 Web 应用程序部署负载均衡器。 我正在创建部署网络负载均衡器的服务
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 配置粘性会话的正确方法是什么?
由于 AWS 功能序列,这是不可能的。
此功能属于 NLB 的 TargetGroup。
当您 create LoadBalancer 时,您无法编辑目标组的属性。
TargetGroup创建后属性可以是modified.
Kubernetes does not implement 更改此标志的任何注释。
结论:创建 LoadBalancer 后 运行 用于更改粘性会话标志的 awscli 脚本。