I think
1) Reading from slaves is a bad idea: Redis is very fast, reading and writing from master is good enough. Slaves are used for failover, so that if a master fails, the cluster can still be in a working state. Some redis clients provide the capability to read from slaves, and applications use slaves for reading. If a connection breaks between a master and slave(which can happen often) or in case of high writes or any network fluctuation, the slaves will try to sync from master, and the application will not work because its reading from slave. If the application is written well and doesn't use any bad commands like keys, and doesn't use Lua, which can hog the CPU, causing redis to be slow, writing and reading from master is good enough. Also the redis should be monitored well to find out when should be cluster be expanded.
2) Redis should not be auto scaled up and down based on traffic: Redis should be scaled up or down based on data, and not based on traffic. That too should happen manually. Autoscaling by default was meant to be for stateless applications like web or application servers and not for databases. If anything, the auto scale up or down should happen for increasing/decreasing the slaves where application can read from slaves, like if you are using MySQL, and you can set your application to read from slaves, and write to master, and then do a auto scale of slaves. In multi master databases, like redis cluster, scale up/down will involve slot and data migration, which can sometimes fail, leaving the slots in migrating/importing state, leaving the cluster in an inconsistent state. Further, auto scaling in kubernetes needs to happen based on a indice. Most of the times that is CPU. I checked long time ago but scaling based on memory was not given, simply because memory got from OS != memory used by redis. If you are trying to use CPU to scale up/down, you are already on the wrong path, because if your redis is using more CPU, you are using it the wrong way(may be you are using Lua) or you need to expand your redis cluster manually.
3) Redis Cluster on Kubernetes: We are using redis cluster on kubernetes in our no premise cloud. Used
this wonderful link as a starting point, with slight modifications. This is a not helm chart, but indeed works well.