Not sure you can do it or not with MemoryStore. As much as i know it's managed service not provide a feature like that.
Generally what i have seen and used is Redis HA Kubernetes Deployment with Sentinel.
Helm : https://docs.bitnami.com/tutorials/deploy-redis-sentinel-production-cluster/
What is sentinel?
Consider it like a sidecar proxy that manages the Master and Slave connections. it will return the Master and Slave IPs to you if you send request to it.
By default helm of Redis will deploy the Master POD with 2 slave POD and sentinel as a sidecar.
When you say, The idea would be to have a Redis slave per node which would be the endpoint of any pod of our services.
On a note of Deploying Redis slave on each node might be easy to configure but connecting POD directly to that Slave on the same Node would be weird as all traffic goes using Kubernets service.
Yes, you can do it keeping the slave on each node but not sure how your service will connect to those slaves ?
Your application will be talking with Single Service of Kubernetes, that service will return the IP of Current Masters and Slave as per sentinel document.
Sentinel Documentaion : https://redis.io/topics/sentinel
Extra note (Clustering Vs Sentinel):
Redis clustering is distributed option while sentinel is good for HA and Replication as new Master will be always ready to handle.
Here one application example in Python :
from redis import Sentinel
sentinel = Sentinel([('<**Single K8s service Name**>', 26379)], socket_timeout=0.1)
sentinel.discover_master('mymaster')
('127.0.0.1', 6379)
sentinel.discover_slaves('mymaster')
[('127.0.0.1', 6380)]
Reference : https://github.com/redis/redis-py#sentinel-support