mirror of https://github.com/kubernetes/kops.git
Add idle timeout to api load balancer
Defaults to 5 minutes, but can be adjusted by editing the cluster spec and performing a cluster update.
This commit is contained in:
parent
74df54276b
commit
60043c3457
|
|
@ -18,11 +18,15 @@ package model
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"k8s.io/kops/pkg/apis/kops"
|
||||
"k8s.io/kops/upup/pkg/fi"
|
||||
"k8s.io/kops/upup/pkg/fi/cloudup/awstasks"
|
||||
)
|
||||
|
||||
const LoadBalancerDefaultIdleTimeout = 5 * time.Minute
|
||||
|
||||
// APILoadBalancerBuilder builds a LoadBalancer for accessing the API
|
||||
type APILoadBalancerBuilder struct {
|
||||
*KopsModelContext
|
||||
|
|
@ -79,6 +83,11 @@ func (b *APILoadBalancerBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
elbSubnets = append(elbSubnets, b.LinkToSubnet(subnet))
|
||||
}
|
||||
|
||||
idleTimeout := LoadBalancerDefaultIdleTimeout
|
||||
if lbSpec.IdleTimeoutSeconds != nil {
|
||||
idleTimeout = time.Second * time.Duration(*lbSpec.IdleTimeoutSeconds)
|
||||
}
|
||||
|
||||
elb = &awstasks.LoadBalancer{
|
||||
Name: s("api." + b.ClusterName()),
|
||||
ID: s(elbID),
|
||||
|
|
@ -98,6 +107,10 @@ func (b *APILoadBalancerBuilder) Build(c *fi.ModelBuilderContext) error {
|
|||
HealthyThreshold: i64(2),
|
||||
UnhealthyThreshold: i64(2),
|
||||
},
|
||||
|
||||
ConnectionSettings: &awstasks.LoadBalancerConnectionSettings{
|
||||
IdleTimeout: i64(int64(idleTimeout.Seconds())),
|
||||
},
|
||||
}
|
||||
|
||||
switch lbSpec.Type {
|
||||
|
|
|
|||
Loading…
Reference in New Issue