Reduce resource consumption when generating Kubernetes certificates#52109
Merged
rosstimothy merged 1 commit intomasterfrom Feb 13, 2025
Merged
Reduce resource consumption when generating Kubernetes certificates#52109rosstimothy merged 1 commit intomasterfrom
rosstimothy merged 1 commit intomasterfrom
Conversation
2f4c6f3 to
3af4b9b
Compare
Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
3af4b9b to
a91e888
Compare
tigrato
approved these changes
Feb 13, 2025
avatus
approved these changes
Feb 13, 2025
|
@rosstimothy See the table below for backport results.
|
rosstimothy
added a commit
that referenced
this pull request
Feb 13, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
rosstimothy
added a commit
that referenced
this pull request
Feb 13, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
rosstimothy
added a commit
that referenced
this pull request
Feb 13, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
rosstimothy
added a commit
that referenced
this pull request
Feb 13, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
rosstimothy
added a commit
that referenced
this pull request
Feb 13, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
carloscastrojumo
pushed a commit
to carloscastrojumo/teleport
that referenced
this pull request
Feb 19, 2025
…ravitational#52109) Closes gravitational#52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
rosstimothy
added a commit
that referenced
this pull request
Feb 20, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
rosstimothy
added a commit
that referenced
this pull request
Feb 20, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Feb 20, 2025
…52109) (#52146) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
Contributor
|
FYI, It looks like this broke local runs of lib/auth.TestAuthenticateSSHUser: $ go test ./lib/auth -run=TestAuthenticateSSHUser -failfast -count=1
--- FAIL: TestAuthenticateSSHUser (0.24s)
auth_test.go:750:
Error Trace: /Users/alan/code/teleport/lib/auth/auth_test.go:750
Error: Received unexpected error:
Kubernetes cluster "root-kube-cluster" is not registered in this Teleport cluster; you can list registered Kubernetes clusters using 'tsh kube ls'
Test: TestAuthenticateSSHUser
FAIL
FAIL github.com/gravitational/teleport/lib/auth 3.094s
FAILChatting with Tim about it. |
rosstimothy
added a commit
that referenced
this pull request
Feb 24, 2025
#52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
rosstimothy
added a commit
that referenced
this pull request
Feb 25, 2025
#52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Feb 26, 2025
#52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
github-actions Bot
pushed a commit
that referenced
this pull request
Feb 26, 2025
#52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Feb 27, 2025
#52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
rosstimothy
added a commit
that referenced
this pull request
Mar 20, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
rosstimothy
added a commit
that referenced
this pull request
Mar 20, 2025
#52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
rosstimothy
added a commit
that referenced
this pull request
Mar 20, 2025
…52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation.
rosstimothy
added a commit
that referenced
this pull request
Mar 20, 2025
#52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Mar 20, 2025
…ates (#52148) * Reduce resource consumption when generating Kubernetes certificates (#52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation. * Fix test flakes related to Kubernetes user cert generation (#52442) #52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Mar 20, 2025
…ates (#52147) * Reduce resource consumption when generating Kubernetes certificates (#52109) Closes #52073. The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal. The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of `tctl auth sign` in half as both the client and server were performing the same expensive CheckKubeCluster operation. * Fix test flakes related to Kubernetes user cert generation (#52442) #52109 added a dependency on the unified resource cache to user cert generation to reduce resource consumption. A number of tests that exercise generating Kubernetes user certs were either not waiting for the Kubernetes resources to exist prior to authentication and getting lucky, or checking that the resources were in the auth cache, but not the unified resource cache. This attempts to cover any tests which generate Kubernetes user certificates to verify that the unified resource cache contains the expected cluster before proceeding. Fixes #52157. Fixes #52441.
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.
Closes #52073.
The requested Kubernetes cluster is now cross referenced with the KubeServers in the unified resource cache. This results in a reduction in CPU, memory, and cert generation latency. This also cleans up some of the helper functions in lib/kube/utils that were no longer needed, and suboptimal.
The client side changes here shouldn't have any impact, as the server is performing the same check, and returning the equivalent error the client side code used to. This will also cut the time of
tctl auth signin half as both the client and server were performing the same expensiveCheckKubeClusteroperation.Changelog: Improve latency and reduce resource consumption of generating Kubernetes certificates via
tctl auth signandtsh kube login.