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