首页 文章

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

提问于
浏览
4

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

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

谢谢!

1 回答

  • 2

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

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

    此外,您可以使用以下注释将负载 balancer 协议更改为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 .

相关问题