Skip to content
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

kconnect throttling describeCluster AWS API #751

Open
ashishapy opened this issue Feb 20, 2025 · 0 comments
Open

kconnect throttling describeCluster AWS API #751

ashishapy opened this issue Feb 20, 2025 · 0 comments
Labels
kind/feature A new feature request

Comments

@ashishapy
Copy link

Describe the solution you'd like:
kconnect to optimize for high volume calls. kconnect to optimize how it makes calls to AWS API.

We made 100 concurrent call using kconnect & approx 20 calls failed with below error

Failed to connect to cluster Error: getting cluster: getting cluster config for arn:aws:eks:<account$>:cluster:<cluster-name>: describing cluster <cluster-name>: TooManyRequestException: Too Many Requests

Why do you want this feature:
For scalability & stability

Anything else you would like to add:

AWS Support has shared below documents to implement retries & exponential backoff. AWS confirmed that describeCluster is being invoked while generating KubeConfig from EKS API.

https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html
https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/

Proposals:

  • Implement retries & exponential backoff as per AWS recommendations.
  • Provide a way to generate static kubeConfig for each cluster only once & regenerate only sts token when trying to reconnect to same cluster using same user or different user.
@ashishapy ashishapy added the kind/feature A new feature request label Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature A new feature request
Projects
None yet
Development

No branches or pull requests

1 participant