What happens to the original processes? how to capture a whole service? #2016
MartinEmrich
started this conversation in
General
Replies: 1 comment 3 replies
-
Hey @MartinEmrich, there's the pause feature, which pauses the target pod while mirrord is running. Does that address the problem you're describing? Also, note that multi-replica deployments are supported as part of mirrord for Teams. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Quite new to mirrord, and I just got it working. But I still have to wrap my head around this. And strangly I found no previous discussions about this (IMHO very obvious) topic.
The default behaviour (mirroring traffic) seems confiusing. If an incoming request arrives at the (remote) platform, it then would be processed twice: once on the original service, and once on the local, mirrored process. Imagine a "purchase request" in the typical "hello-world pet shop application" being duplicated...
With the "steal" mode, that's "fixed", but what's with the original processes on the remote cluster? It is still running. So it still has connections to databases, message queues, etc., an thus will still interact with the platform.
If it's not just one pod (like in my first use case on a single-pod StatefulSet), it gets more confusing. As I see it, mirrord runs on a pod level, so if I have a deployment with multiple replicas, I can only put mirrord over one of the pods, ending up with a mixture of the original code running on the cluster, and my local process randomly getting a subset of requests from kube-proxy.
So can I completely, temporarily replace a service (Either in the Kubernetes Service sense, but also in the
Deployment/StatefulSet/Replicaset sense) with my local process via mirrord, without altering Ressources on the remote cluster?
Beta Was this translation helpful? Give feedback.
All reactions