vcluster
vcluster copied to clipboard
sync podnames between host and virtual control planes
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 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?
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 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
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.