TimesTenClassicオブジェクトのデフォルトのアフィニティおよびアンチアフィニティ設定について
Kubernetesアフィニティおよびアンチアフィニティ設定は、ノードでのポッドのスケジュール方法を制限します。Kubernetesドキュメントの「アフィニティとアンチアフィニティ」を参照してください。
-
nodeAffinity設定。適切なアーキテクチャ(amd64またはarm64)を使用してノードにTimesTenポッドをプロビジョニングするようにKubernetesに指示します。これらのアーキテクチャの詳細は、このマニュアルの「マルチアーキテクチャKubernetesクラスタでのデプロイについて」を参照してください。このアーキテクチャ設定は必須です。 -
podAntiAffinityセクション。他のノードでTimesTenClassicオブジェクトのポッドをスケジュールするようにKubernetesに指示します(可能な場合)。このセクションの使用をお薦めします。アンチアフィニティ設定が優先されるため(制約が少ない)、リソース制約によって必要になった場合に、Kubernetesは同じノードに複数のポッドをスケジュールできます。たとえば、お薦めしませんが、TimesTenデータベースのアクティブ・スタンバイ・ペアを1つのノード・クラスタにプロビジョニングできます。ただし、2つ以上のノードが使用可能な場合、Kubernetesは他のノードでTimesTenポッドのスケジュールを試みます。
affinityセクションを指定した場合、TimesTenオペレータはそのaffinityセクションを使用し、これを変更しません。
ノート:
nodeAffinity.requiredDuringSchedulingIgnoredDuringExecutionセクションを指定すると、TimesTenオペレータによってarch句が追加されます。
次のスニペットは、sampleという名前のTimesTenClassicオブジェクトのデフォルトのアフィニティおよびアンチアフィニティ設定を示しています。
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- amd64
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchLabels:
database.timesten.oracle.com: sample
topologyKey: kubernetes.io/hostname
weight: 50