第 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
- 是缓存配置属性,用于定义缓存中每个条目的副本数。