From 4e0f062267c25e2ccf45098094ace40c02f84dff Mon Sep 17 00:00:00 2001
From: Hisashi A
Date: Mon, 26 Aug 2024 13:51:51 +0700
Subject: [PATCH] feat: add antiAffinity to deploy sts in separate ndoes
---
k8s/relayer/templates/statefulset.yaml | 15 ++++++++++++++-
k8s/relayer/values.prod.yaml | 8 +++++++-
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/k8s/relayer/templates/statefulset.yaml b/k8s/relayer/templates/statefulset.yaml
index a0371f6b..7caae8a3 100644
--- a/k8s/relayer/templates/statefulset.yaml
+++ b/k8s/relayer/templates/statefulset.yaml
@@ -30,8 +30,21 @@ spec:
{{- end }}
releaseTime: {{ dateInZone "2006-01-02 15:04:05Z" (now) "UTC"| quote }}
spec:
- {{- if .Values.affinity_tolerations.enable }}
affinity:
+ {{- if .Values.affinity.antiAffinity }}
+ podAntiAffinity:
+ requiredDuringSchedulingIgnoredDuringExecution:
+ - podAffinityTerm:
+ labelSelector:
+ matchExpressions:
+ - key: app
+ operator: In
+ values:
+ - {{ .Values.name }}
+ topologyKey: {{ .Values.affinity.antiAffinity.topologyKey }}
+ weight: {{ .Values.affinity.antiAffinity.weight }}
+ {{- end }}
+ {{- if .Values.affinity_tolerations.enable }}
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
diff --git a/k8s/relayer/values.prod.yaml b/k8s/relayer/values.prod.yaml
index a280579d..b8f24b39 100644
--- a/k8s/relayer/values.prod.yaml
+++ b/k8s/relayer/values.prod.yaml
@@ -33,12 +33,18 @@ secret_plain:
ingress:
host: sdk-relayer.prod.biconomy.io
-# datadog configs
+# deploy to dedicated k8s node with taint
affinity_tolerations:
enable: true
key: "app"
values: "relayer-server"
+# make sure pods are deployed in different nodes
+affinity:
+ antiAffinity:
+ topologyKey: kubernetes.io/hostname
+ weight: 100
+
# wait for 120 * 10s to fail
startupProbe:
failureThreshold: 120