-
The generated redis pod node looks like this, it is not being schduled, see below that failure-domain.beta.kubernetes.io/node is used for toplogy... we don't have this label on our EKS nodes, I think this is the issue (at least one of them) can we avoid using it?
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Unfortunately the topology key is not configurable as it is right now and the operator uses the legacy key. The whole affinity config is generated by the operator instead of being provided as yaml manifest because they depend on labels generated by operator - the leader/follower labels. As a workaround you can disable the default affinity and inject your own config using mutating webhooks. Or use the mutating hook to change only the topology key. https://github.com/PayU/redis-operator/blob/main/api/v1/rediscluster_types.go#L39 However, the problem of pods not being scheduled is likely not caused by the missing label, the anti-affinity makes sure you dont schedule two pods on the same topology area - node/zone/region, since you dont have the label the pods will always be scheduled. Release 2.0 will contain the new topology keys. And eventually the whole affinity spec will be configurable. |
Beta Was this translation helpful? Give feedback.
-
solved by code change + chart change: 1.Replace the topologyKey: failure-domain.beta.kubernetes.io/node with kubernetes.io/hostname |
Beta Was this translation helpful? Give feedback.
solved by code change + chart change:
1.Replace the topologyKey: failure-domain.beta.kubernetes.io/node with kubernetes.io/hostname
2. Add tolerations to redisPodSpec