amazon-web-services – Kubernetes:如何在公开服务时更改AWS Load Balancer的默认超时60秒?

在AWS中使用–type =“LoadBalancer”公开服务当前会创建一个TCP级别的AWS ELB,默认超时为60秒.有没有办法改变超时,除了手动查找负载均衡器并使用AWS工具重新配置它? (即,费力的kubectl描述服务xyz | grep“LoadBalancer Ingress” – >使用AWS API通过此URL查找负载均衡器并设置其超时)或者是使用此自动创建的ELB的好方法吗?

当前情况的问题是(1)对于我们的一些服务来说1分钟太短而且(2)由于TCP(而不是HTTP)级别上的负载平衡,客户端在获取信息时没有出现信息错误.达到超时(在curl的情况下:“curl:(52)来自服务器的空回复”)

谢谢!

最佳答案 可以使用服务上的注释在最近的Kubernetes版本(1.4或更高版本?)中为ELB设置连接空闲超时.例如:

kubectl annotate service my-service service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout=1200

此外,您可以使用以下注释将负载平衡协议更改为HTTP.

service.beta.kubernetes.io/aws-load-balancer-backend-protocol

有关AWS ELB的更多注释,请参见https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/aws/aws.go.

点赞