I have a Kubernetes deployment that has 3 replicas. It starts 3 pods which are distributed across a given cluster. I would like to know how to reliably get one pod to contact another pod within the same ReplicaSet
.
The deployment above is already wrapped up in a Kubernetes Service
. But Services
do not cover my use case. I need each instance of my container (each Pod
) to start-up a local in memory cache and have these cache communicate/sync with other cache instances running on other Pods
. This is how I see a simple distributed cache working on for my service. Pod to pod communication within the same cluster is allowed as per the Kubernetes Network Model but I cannot see a reliable way to address each a pod from another pod.
I believe I can use a StatefulSet
, however, I don't want to lose the ClusterIP
assigned to the service which is required by Ingress
for load balancing.
Ofcourse you can use statefulset, and ingress doesn't need ClusterIP that assigned to the service, since it uses the endpoints, so 'headless service' is ok.