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