-
Notifications
You must be signed in to change notification settings - Fork 479
Description
What would you like to be added:
MultiKueue with ClusterProfile API requires a credentials plugin to be available to the kueue manager (see KEP-5993). Currently, there is no standardized way to distribute these plugins. This enhancement request aims to standardize the method for distributing and making cloud-provider credential plugins available to the kueue manager.
Proposed Options
Option 1: Include the plugins in the Kueue Manager container image
-
Option 1A: Plugins Built and Managed by Kueue. Plugins (e.g., for AWS, GCP, Azure) are compiled and included directly in the official Kueue manager container image, similar to Argo CD.
- Pros: Offers the best UX as it requires zero extra configuration from the user.
- Cons: Introduces cloud-provider specific logic in kueue - this might be acceptable as there's prededence from Argo CD and the provider-specific logic is limited to auth.
-
Option 1B: Plugins Built and Managed by Customers. Customers are responsible for compiling and building a custom Kueue manager image that includes their required credential plugins.
- Pros: Keeps cloud-specific logic out of the main Kueue repository.
- Cons: High friction for users, requiring them to maintain a custom build pipeline.
Option 2: Provide the plugins at run time
Plugins are provided at run time, typically via an initContainer that mounts them into the Kueue manager's volume.
- Pros: Decouples the plugin lifecycle from the Kueue manager release cycle.
- Cons: Adds complexity to the deployment manifest as it requires an
initContainer, volume mounts, etc. It also requires maintaining container images for the plugins - it would be useful to have the plugins hosted in a k8s repos and shared among multi-cluster toolings.
Why is this needed:
Completion requirements:
This enhancement requires the following artifacts:
- Design doc
- API change
- Docs update
The artifacts should be linked in subsequent comments.