-
Notifications
You must be signed in to change notification settings - Fork 87
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
Proposal: Target cluster dependent candidate/delegate pods #96
Comments
Thank you @everpeace for submitting this proposal, I like it! You're not the only one requesting this feature, and this is an elegant solution.
What do you think? |
@adrienjt Thanks for your quick reply and sorry for my late reply.
Yes. That's right.
In my supposed use-case, that aims to absorb differences among target clusters, inverting the dependency might not make sense. For example, if # perhaps we would define ClusterTargetPodTransformation (cluster scoped)
kind: TargetPodTransformation
metadata:
name: use-v100-32G
transformations:
# this defines podSpec to use V100 GPU(32GB) in each cluster(Target) This transformation could be reusable from many pods. So, I feel specifying the transformation from pod is more natural instead of specifying pods from transformation.
I think it is worth to discuss!! I imagined podSpec was only the target at the first time but users sometimes might want to patch labels/annotations.
As you might know, the result of patching strategic merge patches depends on the order of applying patches to the pod. So, label selector would not fit here because it just cannot define the order of transformations. |
Re 3. & 4. 👍 I also like the Re 2. Okay, let's allow metadata patches then. It's a low-cost flexibility, both for the developer and the user. It might feel more natural also, cf. Re 1. I meant using labels to select which targets a transformation applies to, not which transformations a pod uses (I agree that a pod should refer to a transformation by name), e.g.: kind: TargetPodTransformation
metadata:
name: use-v100-32G
transformations:
- targetSelector:
region: eu
patch: |
# user can define inline strategic merge patch here |
I misunderstood. |
Currently, users can't create target dependent pod spec (e.g.
nodeSelector
orresources
).For example, let's assume you would like to throw a job using V100 GPU with 32GB memory. But node labels are different in each target cluster because operating organization are different or similar reasons. For example,
gpu-model: V100-32GB
in "oregon" cluster, but,gpu-model: V100, gpu-memory: 32GB
in "EU" and so on.Supporting this situation, let me propose to introduce
TargetPodTransformation
CRD (there could be more appropriate names).Then, proxy scheduler can create target cluster dependent
PodShaperons
by using specified transformation.What do you think??
The text was updated successfully, but these errors were encountered: