第11章 anti-affinity による可用性の保証

Kubernetes には、単一障害点からワークロードを保護する anti-affinity 機能が含まれます。

11.1. anti-affinity ストラテジー

クラスターの各 Data Grid ノードは、クラスターの OpenShift ノードで実行される Pod で実行されます。各 Red Hat OpenShift ノードは、物理ホストシステムで実行されます。anti-affinity は、OpenShift ノード全体に Data Grid ノードを分散することで機能し、ハードウェア障害が発生した場合でも、Data Grid クラスターを引き続き使用できるようにします。

Data Grid Operator は、2 つの anti-affinity ストラテジーを提供します。

kubernetes.io/hostname
Data Grid レプリカ Pod は、さまざまな OpenShift ノードでスケジュールされます。
topology.kubernetes.io/zone
Data Grid レプリカ Pod は、複数のゾーンにまたがってスケジュールされます。

フォールトトレランス

anti-affinity ストラテジーは、さまざまな方法でクラスターの可用性を保証します。

注記

以下のセクションの式は、OpenShift ノードまたはゾーンの数が Data Grid ノードの数よりも大きい場合にのみ適用されます。

さまざまな OpenShift ノードでの Pod のスケジュール

以下のタイプのキャッシュに対して、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
キャッシュ内の各エントリーのレプリカの数を定義するキャッシュ設定属性です。