-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for configuring envoy connection parameters in ingress, which istio currently supports. #873
Conversation
… istio currently supports.
|
Welcome @shengyanli1982! It looks like this is your first PR to knative-sandbox/net-kourier 🎉 |
Hi @shengyanli1982. Thanks for your PR. I'm waiting for a knative-sandbox member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@shengyanli1982: The label(s) In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign @dprotaso |
/test all |
@shengyanli1982: Cannot trigger testing until a trusted user reviews the PR and leaves an In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/ok-to-test |
pkg/generator/ingress_translator.go
Outdated
if mc, ok := ingress.Annotations[envoyClusterMaxConnections]; ok { | ||
if v, err := strconv.Atoi(mc); err == nil { | ||
if v > 0 && v < math.MaxUint32 { | ||
connectionOpts.MaxConnections = uint32(v) |
Check failure
Code scanning / CodeQL
Incorrect conversion between integer types
pkg/generator/ingress_translator.go
Outdated
if mpr, ok := ingress.Annotations[envoyClusterMaxPendingRequests]; ok { | ||
if v, err := strconv.Atoi(mpr); err == nil { | ||
if v > 0 && v < math.MaxUint32 { | ||
connectionOpts.MaxPendingRequests = uint32(v) |
Check failure
Code scanning / CodeQL
Incorrect conversion between integer types
pkg/generator/ingress_translator.go
Outdated
if mr, ok := ingress.Annotations[envoyClusterMaxRequests]; ok { | ||
if v, err := strconv.Atoi(mr); err == nil { | ||
if v > 0 && v < math.MaxUint32 { | ||
connectionOpts.MaxRequests = uint32(v) |
Check failure
Code scanning / CodeQL
Incorrect conversion between integer types
pkg/generator/ingress_translator.go
Outdated
if mrt, ok := ingress.Annotations[envoyClusterMaxRetries]; ok { | ||
if v, err := strconv.Atoi(mrt); err == nil { | ||
if v > 0 && v < math.MaxUint32 { | ||
connectionOpts.MaxRetries = uint32(v) |
Check failure
Code scanning / CodeQL
Incorrect conversion between integer types
Thank you @shengyanli1982 for this PR. I have read your draft of the release note:
Could you please describe what exact problems did you encounter with the current values? |
Of course. We used Net-Kourier + Kourier as the gateway for our backend knatvie applications. In the real world, we have a service with the concurrency mode between 10 and 60 pods. We are an e-commerce business, so the peak of requests will often be like a wave, and the enovy default of 1000 will often be stuck to our peak requests. Our internal version has been modified and confirmed to be able to effectively support online services. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: shengyanli1982 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/retest-required |
/assign @nak3 |
/retest-required |
/retest |
Thank you for the explanation and sorry for the late response. Also, if possible I would like to avoid the annotation approach. Did you consider any alternative idea to support this without the annotation? |
/skip |
emmmm. Ingress forwards traffic for a service. In this case, ingress carries the service attribute. Ingress is also a CRD resource, so these contents naturally have a clear mapping relationship. Annotation is where I can think of the most efficient way to extend custom attributes, maybe you have a better idea. In the real world, we use Labels to distinguish different services and business types, Annotation as an application public metadata attribute definition, and Env to define variables within different versions of POD. Clear data definition layering facilitates large-scale POD operation and management. The above content is for your reference only. |
/assign @nak3 |
This Pull Request is stale because it has been open for 90 days with |
/remove-lifecycle stale |
@shengyanli1982: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@shengyanli1982 could rebase the PR? gentle ping. |
@shengyanli1982 could rebase the PR? gentle ping. |
@mbrancato could you help on this one? |
This Pull Request is stale because it has been open for 90 days with |
Changes
configuring envoy connection parameters from ingress annotations resource by user defined
/kind enhancement
Fixes #
Release Note
Unit Test
Envoy Config Dump