feat(ingress gateway: support configuring limits in ingress-gateway c…#14749
Merged
feat(ingress gateway: support configuring limits in ingress-gateway c…#14749
Conversation
3 tasks
DanStough
reviewed
Sep 27, 2022
Contributor
DanStough
left a comment
There was a problem hiding this comment.
I had some editorial comments we could discuss but overall looks great!
website/content/docs/connect/config-entries/ingress-gateway.mdx
Outdated
Show resolved
Hide resolved
Comment on lines
+1054
to
+1075
| { | ||
| name: 'MaxConnections', | ||
| type: 'int: 0', | ||
| description: `The maximum number of connections a service instance | ||
| will be allowed to establish against the given upstream. Use this to limit | ||
| HTTP/1.1 traffic, since HTTP/1.1 has a request per connection.`, | ||
| }, | ||
| { | ||
| name: 'MaxPendingRequests', | ||
| type: 'int: 0', | ||
| description: `The maximum number of requests that will be queued | ||
| while waiting for a connection to be established. For this configuration to | ||
| be respected, a L7 protocol must be defined in the \`protocol\` field.`, | ||
| }, | ||
| { | ||
| name: 'MaxConcurrentRequests', | ||
| type: 'int: 0', | ||
| description: `The maximum number of concurrent requests that | ||
| will be allowed at a single point in time. Use this to limit HTTP/2 traffic, | ||
| since HTTP/2 has many requests per connection. For this configuration to be | ||
| respected, a L7 protocol must be defined in the \`protocol\` field.`, | ||
| }, |
Contributor
There was a problem hiding this comment.
Should we mention the default values?
Collaborator
Author
There was a problem hiding this comment.
Added in the following commit
| { | ||
| name: 'MaxConnections', | ||
| type: 'int: 0', | ||
| description: overrides for `Defaults` configuration, |
Contributor
There was a problem hiding this comment.
I would provide a link to these configuration items.
Collaborator
Author
There was a problem hiding this comment.
Added in the following commit
Comment on lines
+43
to
+45
| MaxConnections int32 | ||
| MaxPendingRequests int32 | ||
| MaxConcurrentRequests int32 |
Contributor
There was a problem hiding this comment.
uint32 would be more accurate per envoy, correct?
…onfig entry - a new Defaults field with max_connections, max_pending_connections, max_requests is added to ingress gateway config entry - new field max_connections, max_pending_connections, max_requests in individual services to overwrite the value in Default - added unit test and integration test - updated doc Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com>
Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
7a9962b to
d896381
Compare
13b47ca to
52c2dd6
Compare
Contributor
|
@huikang This will also need a PR on consul-k8s to apply this new config via CRDs |
3 tasks
huikang
added a commit
that referenced
this pull request
Sep 30, 2022
#14749) * feat(ingress gateway: support configuring limits in ingress-gateway config entry - a new Defaults field with max_connections, max_pending_connections, max_requests is added to ingress gateway config entry - new field max_connections, max_pending_connections, max_requests in individual services to overwrite the value in Default - added unit test and integration test - updated doc Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
huikang
added a commit
that referenced
this pull request
Oct 3, 2022
#14749) * feat(ingress gateway: support configuring limits in ingress-gateway config entry - a new Defaults field with max_connections, max_pending_connections, max_requests is added to ingress gateway config entry - new field max_connections, max_pending_connections, max_requests in individual services to overwrite the value in Default - added unit test and integration test - updated doc Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
huikang
pushed a commit
that referenced
this pull request
Oct 4, 2022
…ss-gateway c… into release/1.13.x (#14791) * no-op commit due to failed cherry-picking * feat(ingress gateway: support configuring limits in ingress-gateway c… (#14749) * feat(ingress gateway: support configuring limits in ingress-gateway config entry - a new Defaults field with max_connections, max_pending_connections, max_requests is added to ingress gateway config entry - new field max_connections, max_pending_connections, max_requests in individual services to overwrite the value in Default - added unit test and integration test - updated doc Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
huikang
pushed a commit
that referenced
this pull request
Oct 14, 2022
#14749) * feat(ingress gateway: support configuring limits in ingress-gateway config entry - a new Defaults field with max_connections, max_pending_connections, max_requests is added to ingress gateway config entry - new field max_connections, max_pending_connections, max_requests in individual services to overwrite the value in Default - added unit test and integration test - updated doc Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
huikang
added a commit
that referenced
this pull request
Oct 14, 2022
…ss-gateway c… into release/1.12.x (#14790) * feat(ingress gateway: support configuring limits in ingress-gateway c… (#14749) * feat(ingress gateway: support configuring limits in ingress-gateway config entry - a new Defaults field with max_connections, max_pending_connections, max_requests is added to ingress gateway config entry - new field max_connections, max_pending_connections, max_requests in individual services to overwrite the value in Default - added unit test and integration test - updated doc Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Dan Stough <dan.stough@hashicorp.com> * fix flaky integration test (#14843) * remove pbconfigentry Co-authored-by: temp <temp@hashicorp.com> Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Dan Stough <dan.stough@hashicorp.com> Co-authored-by: cskh <hui.kang@hashicorp.com>
huikang
pushed a commit
that referenced
this pull request
Oct 14, 2022
…ss-gateway c… into release/1.12.x (#14790) * feat(ingress gateway: support configuring limits in ingress-gateway c… (#14749) * feat(ingress gateway: support configuring limits in ingress-gateway config entry - a new Defaults field with max_connections, max_pending_connections, max_requests is added to ingress gateway config entry - new field max_connections, max_pending_connections, max_requests in individual services to overwrite the value in Default - added unit test and integration test - updated doc Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
huikang
pushed a commit
that referenced
this pull request
Oct 15, 2022
…ss-gateway c… into release/1.11.x (#14789) * Backport of feat(ingress gateway: support configuring limits in ingress-gateway c… into release/1.12.x (#14790) * feat(ingress gateway: support configuring limits in ingress-gateway c… (#14749) * feat(ingress gateway: support configuring limits in ingress-gateway config entry - a new Defaults field with max_connections, max_pending_connections, max_requests is added to ingress gateway config entry - new field max_connections, max_pending_connections, max_requests in individual services to overwrite the value in Default - added unit test and integration test - updated doc Co-authored-by: Chris S. Kim <ckim@hashicorp.com> Co-authored-by: Jeff Boruszak <104028618+boruszak@users.noreply.github.com> Co-authored-by: Dan Stough <dan.stough@hashicorp.com>
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
As a user of ingress gateway, I want to increase the max_connections of the service in the ingress-gateway config entry (link to the detailed description). However, in current implementation, max_coonections can’t be changed and is set to the default value of 1024 by envoy.
This PR adds a new field named Defaults to the ingress-gateway config entry and
max_xyzto individual listening services. The new fields allow user to configure themax_xyzof the upstream cluster of a specified service behind the ingress gateway.Fixes #13374
Testing & Reproduction steps
test/integration/connect/envoy/case-ingress-gateway-multiple-services/config_entries.hcl).Links
Address #13374
Supersede #14708
Please be mindful not to leak any customer or confidential information. HashiCorp employees may want to use our internal URL shortener to obfuscate links.
PR Checklist