-
I've banged my head against this a little, but I think this might not be a solveable problem. if you have a headless service, k8s provides the possibility to address specific pods defined in the selector. if pod-1 and pod-2 are a statefulset, they can be reached individually as pod-1.service-headless and pod-2.service-headless. Some clustered services rely on this (for example, many of bitnami's charts work like this). When you expose the service with skupper, it replaces the selector with its proxy, and the pod selector is thus no longer available (because there's no pods any more connected to the headless service). As this involves k8s DNS, which is not in scope for skupper, I assume this problem is not solveable in this environment - am I correct or did I miss something? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
You can currently get similar behaviour by exposing a statefulset with the --headless option. |
Beta Was this translation helpful? Give feedback.
You can add annotations to the statefulset instead of to the service. skupper.io/proxy=tcp and skupper.io/headless=true
The way it works at present is that it creates a 'proxy' statefulset with the same name and the same service in the other linked sites, which results in the same DNS being set up there.
We have thoughts on changing this in the future though, still giving each pod a unique and stable name but probably not the exact form that kubernetes gives.