Добре, мисля, че тук има объркване.
Разгръщането на Redis Cluster не е същото като редица стандартни копия на Redis, защитени от Sentinel. Две много различни неща.
Опцията за разгръщане чрез щракване на GCE разгръща редица стандартни копия на Redis, защитени от Sentinel, а не от Redis Cluster.
ioredis може да обработва и двата вида разгръщания, но трябва да използвате съответния API. Тук се опитвахте да използвате API на Redis Cluster, което води до тази грешка (свързаните с клъстера команди не са активирани за стандартни екземпляри на Redis).
Според документацията на ioredis, трябва да се свържете с:
var redis = new Redis({
sentinels: [{ host: hostMaster, port: 26379 },
{ host: hostSlab1, port: 26379 },
{ host: hostSlab2, port: 26379 } ],
name: 'mymaster'
});
Разбира се, проверете сентинел портовете и името на главния. ioredis ще управлява автоматично превключването към подчинен екземпляр, когато главният се повреди, а сентинелът ще гарантира, че подчинението е повишено като главен точно преди това.
Имайте предвид, че тъй като използвате pub/sub, ще ви трябват няколко връзки за redis.