vcluster icon indicating copy to clipboard operation
vcluster copied to clipboard

sync podnames between host and virtual control planes

Open kotaner opened this issue 3 years ago • 3 comments

Is your feature request related to a problem?

We're deploying Argo workflow controller. Argo workflow CRD tracks pod names in order to determine if job(step/task) is successfull or not. Since CRD is in virtual control plane, and actual pod runs inside host control plane under a different name, Argo CRD is not able to coordinate finished tasks and move on to next step.

Which solution do you suggest?

Just like node name sync, if we can have the option to sync podnames between virtual & host control planes, I believe we should be good. You might also consider syncing all other resources (secrets/svc/configmaps etc) between host and virtual. I understand that you would want to add -x-NAMESPACE- to the pod names to prevent collision between virtual namespaces, but for argo workflow CRD, renaming pods confuses it. Adding labels or other annotations to 'virtual' pods might be a solution to track pod names reliably between host & virtual control planes

Which alternative solutions exist?

No response

Additional context

No response

kotaner avatar Feb 24 '22 00:02 kotaner

@kotaner thanks for creating this issue! Not entirely sure why argocd should complain we have several users where connecting vclusters work fine. Do you connect argocd to the virtual cluster or host cluster?

FabianKramm avatar Feb 24 '22 06:02 FabianKramm

hi there, thank you for quick reply. this is not argoCD, this is for argo workflow, it has its own operator and executors that spins up new pods for each task and needs to coordinate tasks. We're using argocd, but it is not deployed to virtualcluster. I've found a solution to our problem already, but I believe having an option to sync pod names between virtual & host control planes would be much more cleaner.

kotaner avatar Feb 24 '22 13:02 kotaner

@kotaner ah I see, yes thats currently a limitation because argo workflows directly interact with the kubelet / node, but you can use the Kubernetes API executor which works fine with vcluster. To configure that, checkout https://argoproj.github.io/argo-workflows/workflow-executors/#kubernetes-api-k8sapi

FabianKramm avatar Feb 24 '22 14:02 FabianKramm

I don't think we will be able to have pod names 1:1 match between the host and virtual due to the potential collisions. There is a separate issue about adding pod name to the labels - #582 Also, it sounds like some workarounds are available. Closing for the reasons above.

matskiv avatar Oct 14 '22 13:10 matskiv