-
Notifications
You must be signed in to change notification settings - Fork 2
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
Upgrade to ingress-nginx v0.40.2 #122
Conversation
# configmap.server-tokens | ||
# Controls whether to send NGINX Server header in responses and display NGINX | ||
# version in error pages. | ||
server-tokens: "false" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now upstream defaults to server-tokens disabled, so there's no need to have this override.
9fae8ae
to
a423834
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM (assuming tested).
Not sure if the performance test failure is actually true or not though.
Perf tests are failing due to kubernetes/ingress-nginx#6284 and loadtest app using extensions/v1beta1 Ingress. It's a good test, since in reality users will still use that old API, it should be gracefully rejected. So unfortunately, this is on hold, have to wait for next patch or minor release. |
CHANGELOG.md
Outdated
- Default configuration changes: | ||
|
||
- [`gzip-level`](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md#gzip-level) default changed from `5` to `1` | ||
- [`ssl-session-tickets`](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md#ssl-session-tickets) default changed from `true` to `false` | ||
- [`use-gzip`](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md#use-gzip) default changed from `true` to `false` | ||
- [`upstream-keepalive-connections`](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md#upstream-keepalive-connections) changed from `32` to `320` | ||
- [`upstream-keepalive-requests`](https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md#upstream-keepalive-requests) changed from `100` to `10000` | ||
- Support and enable by default [mimalloc](https://github.com/microsoft/mimalloc) as a drop-in malloc replacement to reduce nginx memory utilization. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes to default configuration improved performance in upstream performance tests kubernetes/ingress-nginx#6226 (comment)
//cc @whites11
For performance tests to pass with validating webhook enabled by default:
That may take a while. So as temp solution I've run performance tests with validating webhook disabled. Tests used AWS 12.2.0 platform release. Here are results:
Latency tail is slightly better compared to previous release perf tests run #118 (comment) In production effect may be different. Perf tests here anyway validate just that there are no regressions. Once perf test completed, validating webhook has been reenabled. |
@sslavic the tail latency performance is because of the change in the defaults kubernetes/ingress-nginx#6226 (comment) Without gzip enabled there is no change required to get ~30K RPS https://gist.github.com/aledbf/a79434b28dc529930b88b824976f7044#gistcomment-3467102 |
Yes @aledbf, thanks! I shared your perf test results earlier with a colleague, @whites11, #122 (comment) PR has been updated to use just released upstream v0.40.2 binary. Thanks once more @aledbf for merging my PR kubernetes/ingress-nginx#6284 and shipping the release so promptly. That unblocks us - once we update Ingress API and dependencies in part of our perf testing tooling stack (see #122 (comment)) we'll be able to ship this upgrade. |
In previous tests Ingress resource validation was failing due to NGINX IC webhook installation being unreliable. Once that was fixed, by tuning helm It's still great to have NGINX IC validating webhook resiliency improvement from 0.40.2 in. It's recommended, but there is no need yet for Ingress resources to have API group changed from Changelog has been updated accordingly. |
perf tests results with 0.40.2:
|
Tested upgrade from 1.9.2 to this PR build on gauss. Clean installation was automatically tested with performance tests. |
Towards https://github.com/giantswarm/giantswarm/issues/13131 and https://github.com/giantswarm/giantswarm/issues/13231