第 15 章 使用反关联性保证可用性
Kubernetes 包括可保护工作负载免受单点故障的反关联性功能。
15.1. 反关联性策略
一个集群中的每个 Data Grid 节点都在一个在集群中的 OpenShift 节点上运行的 pod 中运行。每个 Red Hat OpenShift 节点在物理主机系统上运行。反关联性通过分布跨 OpenShift 节点的 Data Grid 节点来实现,确保在出现硬件故障时,您的 Data Grid 集群仍仍然可用。
data Grid Operator 提供了两个反关联性策略:
kubernetes.io/hostname
- data Grid 副本 Pod 调度到不同的 OpenShift 节点上。
topology.kubernetes.io/zone
- data Grid 副本 pod 调度到多个区域。
容错
反关联性策略以不同的方式保证集群可用性。
注意
只有在 OpenShift 节点或区的数量大于 Data Grid 节点的数量时才应用以下部分。
在不同的 OpenShift 节点上调度 pod
为以下类型的缓存提供 x
节点故障:
-
复制:
x = spec.replicas - 1
-
分布式:
x = num_owners - 1
在多个区调度 pod
在存在 x
区时为以下类型的缓存提供 x
区故障的容错:
-
复制:
x = spec.replicas - 1
-
分布式:
x = num_owners - 1
注意
spec.replicas
- 定义每个 Data Grid 集群中的 pod 数量。
num_owners
- 是缓存配置属性,用于定义缓存中每个条目的副本数。