Skip to content

envoy: Allow customize per cluster connections / requests limit#43049

Merged
julianwiedmann merged 1 commit intocilium:mainfrom
adtalos:main
Dec 3, 2025
Merged

envoy: Allow customize per cluster connections / requests limit#43049
julianwiedmann merged 1 commit intocilium:mainfrom
adtalos:main

Conversation

@exherb
Copy link
Copy Markdown
Contributor

@exherb exherb commented Dec 1, 2025

Envoy default limit on connections/requests on a cluster is 1024. This is not enough for large pod.

Please ensure your pull request adheres to the following guidelines:

  • For first time contributors, read Submitting a pull request
  • All code is covered by unit and/or runtime tests where feasible.
  • All commits contain a well written commit description including a title,
    description and a Fixes: #XXX line if the commit addresses a particular
    GitHub issue.
  • If your commit description contains a Fixes: <commit-id> tag, then
    please add the commit author[s] as reviewer[s] to this issue.
  • All commits are signed off. See the section Developer’s Certificate of Origin
  • Provide a title or release-note blurb suitable for the release notes.
  • Are you a user of Cilium? Please add yourself to the Users doc
  • Thanks for contributing!
Allow set the limit via a new helm value 'envoy.clusterMaxConnections' / envoy.clusterMaxRequests and Cilium Agent command line argument '--proxy-cluster-max-connections' / '--proxy-cluster-max-requests'.

@exherb exherb requested review from a team as code owners December 1, 2025 08:54
@exherb exherb requested review from gandro and mhofstetter December 1, 2025 08:54
@maintainer-s-little-helper

This comment was marked as resolved.

@maintainer-s-little-helper maintainer-s-little-helper bot added dont-merge/needs-sign-off The author needs to add signoff to their commits before merge. dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. labels Dec 1, 2025
@github-actions github-actions bot added the kind/community-contribution This was a contribution made by a community member. label Dec 1, 2025
Copy link
Copy Markdown
Member

@gandro gandro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Helm-wise this looks good to me, thanks for your contribution!

Please make sure to sign off your commit (git commit --amend --sign-off).

@gandro gandro added release-note/minor This PR changes functionality that users may find relevant to operating Cilium. area/servicemesh GH issues or PRs regarding servicemesh labels Dec 1, 2025
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Dec 1, 2025
@gandro
Copy link
Copy Markdown
Member

gandro commented Dec 1, 2025

I also notice that your PR description and commit message say the limit is increased, but the text mentions that the current default is 1024 and doesn't actually increase it. Please fix the commit and PR title.

Also, it seems the the build is broken. Have you tested this commit? If so, how have you tested it?

@maintainer-s-little-helper

This comment was marked as resolved.

@exherb exherb changed the title envoy: Increase per cluster connections limit envoy: Allow customize per cluster connections limit Dec 1, 2025
@maintainer-s-little-helper

This comment was marked as resolved.

@maintainer-s-little-helper

This comment was marked as resolved.

@exherb
Copy link
Copy Markdown
Contributor Author

exherb commented Dec 1, 2025

I also notice that your PR description and commit message say the limit is increased, but the text mentions that the current default is 1024 and doesn't actually increase it. Please fix the commit and PR title.

Also, it seems the the build is broken. Have you tested this commit? If so, how have you tested it?

sorry, I have change the commit message to 'Allow customize'
I have tested with our cilium cluster (11 nodes of 256 cores)

@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-sign-off The author needs to add signoff to their commits before merge. label Dec 1, 2025
@gandro
Copy link
Copy Markdown
Member

gandro commented Dec 1, 2025

Thanks! Please note that the build is still broken:

22.69 ../pkg/ciliumenvoyconfig/cec_resource_parser.go:338:66: cannot use r.defaultMaxConnections (variable of type uint32) as int32 value in argument to fillInCircuitBreakers
22.69 ../pkg/ciliumenvoyconfig/cec_resource_parser.go:966:52: cannot use defaultMaxConnections (variable of type int32) as uint32 value in struct literal

@gandro
Copy link
Copy Markdown
Member

gandro commented Dec 1, 2025

The Helm schema also seems off (wrong order). Please run make -C install/kubernetes and amend your commit with the changes:

diff --git a/install/kubernetes/cilium/values.schema.json b/install/kubernetes/cilium/values.schema.json
index 5f19db7bbdc0..1f193890ff9d 100644
--- a/install/kubernetes/cilium/values.schema.json
+++ b/install/kubernetes/cilium/values.schema.json
@@ -2272,10 +2272,10 @@
         "maxConcurrentRetries": {
           "type": "integer"
         },
-        "maxConnections": {
+        "maxConnectionDurationSeconds": {
           "type": "integer"
         },
-        "maxConnectionDurationSeconds": {
+        "maxConnections": {
           "type": "integer"
         },
         "maxRequestsPerConnection": {

@exherb exherb force-pushed the main branch 3 times, most recently from 4036db7 to 134a51b Compare December 1, 2025 09:40
@mhofstetter
Copy link
Copy Markdown
Member

This branch has conflicts that must be resolved

Please rebase to the top of main - sorry for the circumstances

@mhofstetter
Copy link
Copy Markdown
Member

/test

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Dec 2, 2025
Copy link
Copy Markdown
Member

@mhofstetter mhofstetter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - Thanks!

@mhofstetter mhofstetter removed the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Dec 2, 2025
@mhofstetter
Copy link
Copy Markdown
Member

@exherb There's no need to rebase the branch except there are conflicts. Otherwise we have to continue re-running the test suite.

@exherb
Copy link
Copy Markdown
Contributor Author

exherb commented Dec 2, 2025

sorry, I thought I have to rebase to merge.

@mhofstetter
Copy link
Copy Markdown
Member

mhofstetter commented Dec 2, 2025

no problem. no, once the tests pass and the ready-to-merge label has been added a committer will pick it up and add the PR to the merge queue.

@mhofstetter
Copy link
Copy Markdown
Member

mhofstetter commented Dec 2, 2025

/test

Cilium Cluster Mesh upgrade hit #41280
Conformance Cluster Mesh hit #41035
Cilium E2E Upgrade hit #40813

both unrelated to this PR

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Dec 2, 2025
@julianwiedmann julianwiedmann added this pull request to the merge queue Dec 3, 2025
Merged via the queue into cilium:main with commit 9728548 Dec 3, 2025
74 of 75 checks passed
@exherb
Copy link
Copy Markdown
Contributor Author

exherb commented Dec 22, 2025

@mhofstetter #43455 is this back port pull request mergable?

@cilium-release-bot cilium-release-bot bot moved this to Released in cilium v1.19.0 Feb 3, 2026
liyihuang added a commit to liyihuang/cilium that referenced this pull request Feb 4, 2026
…ernal envoy

While we have cilium#43049 to cover embedded case. This PR is to cover the external envoy use case to use maxConnections and maxRequests
Signed-off-by: Liyi Huang <[email protected]>
liyihuang added a commit to liyihuang/cilium that referenced this pull request Feb 4, 2026
While we have cilium#43049 to cover
embedded case. This PR is to cover the external envoy use case to use
maxConnections and maxRequests
Signed-off-by: Liyi Huang <[email protected]>
liyihuang added a commit to liyihuang/cilium that referenced this pull request Feb 12, 2026
While we have cilium#43049 to cover
embedded case. This PR is to cover the external envoy use case to use
clusterMaxRequests and clusterMaxConnections

Signed-off-by: Liyi Huang <[email protected]>
liyihuang added a commit to liyihuang/cilium that referenced this pull request Feb 17, 2026
While we have cilium#43049 to cover
embedded case. This PR is to cover the external envoy use case to use
clusterMaxRequests and clusterMaxConnections

Signed-off-by: Liyi Huang <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Feb 24, 2026
While we have #43049 to cover
embedded case. This PR is to cover the external envoy use case to use
clusterMaxRequests and clusterMaxConnections

Signed-off-by: Liyi Huang <[email protected]>
fzu-huang pushed a commit to fzu-huang/cilium that referenced this pull request Feb 25, 2026
While we have cilium#43049 to cover
embedded case. This PR is to cover the external envoy use case to use
clusterMaxRequests and clusterMaxConnections

Signed-off-by: Liyi Huang <[email protected]>
tommyp1ckles pushed a commit that referenced this pull request Mar 9, 2026
[ upstream commit 3efb667 ]

While we have #43049 to cover
embedded case. This PR is to cover the external envoy use case to use
clusterMaxRequests and clusterMaxConnections

Signed-off-by: Liyi Huang <[email protected]>
Signed-off-by: Tom Hadlaw <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/proxy Impacts proxy components, including DNS, Kafka, Envoy and/or XDS servers. area/servicemesh GH issues or PRs regarding servicemesh kind/community-contribution This was a contribution made by a community member. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/minor This PR changes functionality that users may find relevant to operating Cilium.

Projects

No open projects
Status: Released

Development

Successfully merging this pull request may close these issues.

4 participants