第 11 章 使用反关联性保证可用性
Kubernetes 包含反关联性功能,可防止工作负载出现单一故障点。
11.1. 反关联性策略
集群中的每个 Data Grid 节点都在集群中运行的 pod 中运行。每个 Red Hat OpenShift 节点在物理主机系统上运行。反关联性的工作原理是将 Data Grid 节点分布到 OpenShift 节点,确保即使出现硬件故障,您的数据网格集群也会保持可用。
Data Grid Operator 提供了两个反关联性策略:
kubernetes.io/hostname
- 数据源副本 pod 调度到不同的 OpenShift 节点上。
topology.kubernetes.io/zone
- 数据网格副本 pod 调度到多个区域。
容错
反关联性策略通过不同的方式保证集群可用性。
注意
只有在 OpenShift 节点或区域的数量大于 Data Grid 节点的数量时才适用。
将 pod 调度到不同的 OpenShift 节点上
为以下类型的缓存提供 x
节点故障:
-
replicated:
x = spec.replicas - 1
-
distributed:
x = num_owners - 1
在多个区间调度 pod
当 x
区域存在以下类型的缓存时,提供 x
区故障的容错:
-
replicated:
x = spec.replicas - 1
-
distributed:
x = num_owners - 1
注意
spec.replicas
- 定义每个 Data Grid 集群中的 pod 数量。
num_owners
- 是 cache 配置属性,用于定义缓存中每个条目的副本数。