You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve rack-awareness documentation for Kubernetes
- Add clear explanation of node labeling requirements for rack-awareness
- Emphasize that ALL eligible nodes must be labeled with chosen label
- Explain what eligible nodes are (nodes where RS pods can be scheduled)
- Suggest topology.kubernetes.io/zone as commonly available label
- Clarify that not all platforms have this label by default
- Update example to use current topology.kubernetes.io/zone instead of deprecated failure-domain.beta.kubernetes.io/zone
- Fix kubectl command formatting (add space after $)
- Add warning about operator failing if nodes are missing labels
Addresses DOC-1815
Copy file name to clipboardExpand all lines: content/operate/kubernetes/recommendations/node-selection.md
+17-4Lines changed: 17 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -185,15 +185,28 @@ during partitions or other rack (or region) related failures.
185
185
186
186
{{%note%}}When creating your rack-zone ID, there are some constraints to consider; see [rack-zone awareness]({{< relref "/operate/rs/clusters/configure/rack-zone-awareness#rack-zone-id-rules" >}}) for more info. {{%/note%}}
187
187
188
-
189
188
Rack-zone awareness is a single property in the Redis Enterprise cluster CRD named `rackAwarenessNodeLabel`.
190
-
This value for this label is commonly `topology.kubernetes.io/zone` as documented in
191
-
['Running in multiple zones'](https://kubernetes.io/docs/setup/best-practices/multiple-zones/#nodes-are-labeled).
189
+
190
+
### Choosing a node label
191
+
192
+
The most commonly used label for rack-zone awareness is `topology.kubernetes.io/zone`, which is a well-known Kubernetes label that specifies the zone where a node runs. This label is readily available on all nodes in many Kubernetes platforms, as documented in ['Running in multiple zones'](https://kubernetes.io/docs/setup/best-practices/multiple-zones/#nodes-are-labeled).
193
+
194
+
However, not all Kubernetes platforms configure this label by default. You can use any custom label that indicates the topology information (rack, zone, region, etc.) for your nodes.
195
+
196
+
### Node labeling requirements
197
+
198
+
{{< warning >}}
199
+
**All eligible nodes must be labeled** with the chosen label for rack-awareness to work properly. The operator expects that all nodes where Redis Enterprise pods can be scheduled will have the specified label, and will fail and stop reconciliation if any eligible nodes are missing the label.
200
+
{{< /warning >}}
201
+
202
+
Eligible nodes are all nodes where Redis Enterprise pods can be scheduled. By default, these are all worker nodes in the cluster, but this can be restricted by specifying `.spec.nodeSelector` in the Redis Enterprise cluster (REC) configuration.
203
+
204
+
The value for the chosen label must indicate the topology information (rack, zone, region, etc.) for each node.
192
205
193
206
You can check the value for this label in your nodes with the command:
194
207
195
208
```sh
196
-
$kubectl get nodes -o custom-columns="name:metadata.name","rack\\zone:metadata.labels.failure-domain\.beta\.kubernetes\.io/zone"
209
+
$kubectl get nodes -o custom-columns="name:metadata.name","rack\\zone:metadata.labels.topology\.kubernetes\.io/zone"
0 commit comments