From fdac384ad8d16e8e25a9d1ea06b3b0fa6b8ea4de Mon Sep 17 00:00:00 2001 From: gmega Date: Thu, 23 Jan 2025 12:12:42 -0300 Subject: [PATCH] fix: add autoscaler eviction annotations to prevent pods from being relocated mid-experiment --- k8s/charts/deluge/templates/_helpers.tpl | 13 +++++++------ k8s/charts/deluge/templates/deluge-service.yaml | 1 + k8s/charts/deluge/templates/deluge-statefulset.yaml | 2 ++ k8s/charts/deluge/templates/testrunner-job.yaml | 2 ++ k8s/charts/deluge/templates/tracker-deployment.yaml | 2 ++ 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/k8s/charts/deluge/templates/_helpers.tpl b/k8s/charts/deluge/templates/_helpers.tpl index e71e93c..5e5450d 100644 --- a/k8s/charts/deluge/templates/_helpers.tpl +++ b/k8s/charts/deluge/templates/_helpers.tpl @@ -30,9 +30,7 @@ Expand the name of the chart. {{- printf "%s-%s" (include "experiment.id" .) (include "experiment.groupId" .) }} {{- end }} -{{/* -Common and selector labels. -*/}} +{{/* Common and selector labels. */}} {{- define "deluge-benchmarks.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} {{- end }} @@ -56,9 +54,12 @@ app.kubernetes.io/instance: {{ include "experiment.id" . }} app.kubernetes.io/part-of: {{ include "experiment.groupId" . }} {{- end }} -{{/* -Minikube env. -*/}} +{{/* Annotations. */}} +{{- define "deluge-benchmarks.pod.annotations" -}} +cluster-autoscaler.kubernetes.io/safe-to-evict: "false" +{{- end }} + +{{/* Minikube env. */}} {{- define "benchmark.harness.image" -}} {{ .Values.deployment.minikubeEnv | ternary "bittorrent-benchmarks:minikube" "codexstorage/bittorrent-benchmarks:latest" }} diff --git a/k8s/charts/deluge/templates/deluge-service.yaml b/k8s/charts/deluge/templates/deluge-service.yaml index 3d5e164..7e83e16 100644 --- a/k8s/charts/deluge/templates/deluge-service.yaml +++ b/k8s/charts/deluge/templates/deluge-service.yaml @@ -6,6 +6,7 @@ metadata: labels: app.kubernetes.io/component: deluge-nodes-service {{- include "deluge-benchmarks.labels" . | nindent 4}} + spec: clusterIP: None selector: diff --git a/k8s/charts/deluge/templates/deluge-statefulset.yaml b/k8s/charts/deluge/templates/deluge-statefulset.yaml index dcda15c..26647f0 100644 --- a/k8s/charts/deluge/templates/deluge-statefulset.yaml +++ b/k8s/charts/deluge/templates/deluge-statefulset.yaml @@ -18,6 +18,8 @@ spec: labels: app.kubernetes.io/component: deluge-node {{- include "deluge-benchmarks.labels" . | nindent 8 }} + annotations: + {{- include "deluge-benchmarks.pod.annotations" . | nindent 8 }} spec: {{- if not .Values.deployment.allowColocation }} diff --git a/k8s/charts/deluge/templates/testrunner-job.yaml b/k8s/charts/deluge/templates/testrunner-job.yaml index cd277f4..40305ae 100644 --- a/k8s/charts/deluge/templates/testrunner-job.yaml +++ b/k8s/charts/deluge/templates/testrunner-job.yaml @@ -14,6 +14,8 @@ spec: labels: app.kubernetes.io/component: deluge-experiment-runner {{- include "deluge-benchmarks.labels" . | nindent 8 }} + annotations: + {{- include "deluge-benchmarks.pod.annotations" . | nindent 8 }} spec: {{- with .Values.deployment.runnerNodePool }} diff --git a/k8s/charts/deluge/templates/tracker-deployment.yaml b/k8s/charts/deluge/templates/tracker-deployment.yaml index db5c7e5..5f5b8f2 100644 --- a/k8s/charts/deluge/templates/tracker-deployment.yaml +++ b/k8s/charts/deluge/templates/tracker-deployment.yaml @@ -19,6 +19,8 @@ spec: labels: app.kubernetes.io/component: bittorrent-tracker {{- include "deluge-benchmarks.labels" . | nindent 8 }} + annotations: + {{- include "deluge-benchmarks.pod.annotations" . | nindent 8 }} spec: {{- with .Values.deployment.trackerNodePool }}