Skip to content

Commit

Permalink
Merge pull request #1540 from S-mishina/feature/support-istio-destina…
Browse files Browse the repository at this point in the history
…tionrule-warmupdurationsecs

Support istio Destination Dule WarmupDurationSecs
  • Loading branch information
aryan9600 authored Oct 17, 2023
2 parents d7bf6a2 + d196fae commit c5369e9
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 0 deletions.
3 changes: 3 additions & 0 deletions artifacts/flagger/crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -806,6 +806,9 @@ spec:
- PASSTHROUGH
- LEAST_REQUEST
type: string
warmupDurationSecs:
description: Represents the warmup duration of Service.
type: string
outlierDetection:
description: Settings controlling eviction of unhealthy hosts from the load balancing pool.
type: object
Expand Down
3 changes: 3 additions & 0 deletions charts/flagger/crds/crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -806,6 +806,9 @@ spec:
- PASSTHROUGH
- LEAST_REQUEST
type: string
warmupDurationSecs:
description: Represents the warmup duration of Service.
type: string
outlierDetection:
description: Settings controlling eviction of unhealthy hosts from the load balancing pool.
type: object
Expand Down
3 changes: 3 additions & 0 deletions kustomize/base/flagger/crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -806,6 +806,9 @@ spec:
- PASSTHROUGH
- LEAST_REQUEST
type: string
warmupDurationSecs:
description: Represents the warmup duration of Service.
type: string
outlierDetection:
description: Settings controlling eviction of unhealthy hosts from the load balancing pool.
type: object
Expand Down
9 changes: 9 additions & 0 deletions pkg/apis/istio/v1alpha3/destination_rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,15 @@ type LoadBalancerSettings struct {
// Locality load balancer settings, this will override mesh wide settings in entirety, meaning no merging would be performed
// between this object and the object one in MeshConfig
LocalityLbSetting *LocalityLbSetting `json:"localityLbSetting,omitempty"`
// Represents the warmup duration of Service. If set, the newly created endpoint of service
// remains in warmup mode starting from its creation time for the duration of this window and
// Istio progressively increases amount of traffic for that endpoint instead of sending proportional amount of traffic.
// This should be enabled for services that require warm up time to serve full production load with reasonable latency.
// Please note that this is most effective when few new endpoints come up like scale event in Kubernetes. When all the
// endpoints are relatively new like new deployment, this is not very effective as all endpoints end up getting same
// amount of requests.
// Currently this is only supported for ROUND_ROBIN and LEAST_REQUEST load balancers.
WarmupDurationSecs string `json:"warmupDurationSecs,omitempty"`
}

// Locality-weighted load balancing allows administrators to control the
Expand Down

0 comments on commit c5369e9

Please sign in to comment.