-
Notifications
You must be signed in to change notification settings - Fork 17
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
Feature Request: Support exec plugin in Sveltos #445
Comments
Thank @kahirokunn Currently Sveltos does not use kubectl (and so extension). Once Sveltos has access to a cluster, Sveltos has a token renewal mechanism. User can instruct Sveltos to renew token every X hours (so before token expiration) using a ServiceAccount (also specified by the user) in the managed cluster which has enough permissions to do what Sveltos needs to deploy in such cluster. I know doing the way you are suggesting will open more opportunities, but at the same time having kubectl (and extension) in a pod running in the management cluster might also open to more CVEs. what do you think? |
The exec plugin is described in the official documentation as supporting not only kubectl but also client-go. Therefore, we believe that kubectl management is unnecessary. |
Thank you. Not familiar with that. I will have to go through doc first to understand what's available. |
Since Sveltos is using client-go, I believe the exec plugin should work without any additional configuration in Sveltos itself. However, I suspect it won't actually function because the commands we want to execute may not be present in the runtime environment. |
Exactly. I was referring to executable. Those are not in any of Sveltos pods. |
Yes, I'm actually concerned about that as well.
I'm finding it challenging to determine which method best combines security with practicality and convenience. |
Overview
Currently in Sveltos, authentication information is provided using kubeconfig to access clusters. However, in Kubernetes as a service like GKE, tokens have short expiration periods (e.g., 48 hours) and require regular updates. Furthermore, when using managed Kubernetes services, it is common to dynamically obtain tokens provided by vendor-specific authentication mechanisms.
In such cases,
kubectl
natively supports "exec plugin" and its use is recommended as one of the best practices. Therefore, we would like to add exec plugin support to Sveltos to enable automatic authentication token retrieval from managed services.Background / Motivation
Example: kubeconfig with exec plugin when using EKS
As shown below,
exec
is specified in the users section, executingaws eks get-token
to obtain the token.Expected Approaches
Enable all controllers to use AWS CLI and other necessary vendor CLIs.
exec
plugin, automatically obtain tokens using that CLI.Set up a dedicated controller like Token Resolver Controller.
Expected Benefits
Suggestions/Requests
Thank you for your consideration.
The text was updated successfully, but these errors were encountered: