From eee3030410b94ca118b472f53b71a53a32e38ce6 Mon Sep 17 00:00:00 2001 From: Volodymyr Stoiko Date: Mon, 28 Jul 2025 22:18:45 +0300 Subject: [PATCH] Add priority class configuration for Kubeshark components (#1775) * Add priority class into templates * upd readme * upd --------- Co-authored-by: Alon Girmonsky <1990761+alongir@users.noreply.github.com> --- config/configStructs/tapConfig.go | 1 + helm-chart/README.md | 1 + helm-chart/templates/04-hub-deployment.yaml | 3 +++ helm-chart/templates/06-front-deployment.yaml | 3 +++ helm-chart/templates/09-worker-daemon-set.yaml | 3 +++ helm-chart/templates/18-cleanup-job.yaml | 5 ++++- helm-chart/templates/18-dex-deployment.yaml | 4 +++- helm-chart/values.yaml | 1 + 8 files changed, 19 insertions(+), 2 deletions(-) diff --git a/config/configStructs/tapConfig.go b/config/configStructs/tapConfig.go index 1251e8e99..9fda21fe5 100644 --- a/config/configStructs/tapConfig.go +++ b/config/configStructs/tapConfig.go @@ -328,6 +328,7 @@ type TapConfig struct { Tolerations TolerationsConfig `yaml:"tolerations" json:"tolerations" default:"{}"` Auth AuthConfig `yaml:"auth" json:"auth"` Ingress IngressConfig `yaml:"ingress" json:"ingress"` + PriorityClass string `yaml:"priorityClass" json:"priorityClass" default:""` Routing RoutingConfig `yaml:"routing" json:"routing"` IPv6 bool `yaml:"ipv6" json:"ipv6" default:"true"` Debug bool `yaml:"debug" json:"debug" default:"false"` diff --git a/helm-chart/README.md b/helm-chart/README.md index c41bcf49f..e3746e12d 100644 --- a/helm-chart/README.md +++ b/helm-chart/README.md @@ -180,6 +180,7 @@ Example for overriding image names: | `tap.nodeSelectorTerms.workers` | Node selector terms for workers components | `[{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}]` | | `tap.nodeSelectorTerms.hub` | Node selector terms for hub component | `[{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}]` | | `tap.nodeSelectorTerms.front` | Node selector terms for front-end component | `[{"matchExpressions":[{"key":"kubernetes.io/os","operator":"In","values":["linux"]}]}]` | +| `tap.priorityClass` | Priority class name for Kubeshark components | `""` | | `tap.tolerations.workers` | Tolerations for workers components | `[ {"operator": "Exists", "effect": "NoExecute"}` | | `tap.tolerations.hub` | Tolerations for hub component | `[]` | | `tap.tolerations.front` | Tolerations for front-end component | `[]` | diff --git a/helm-chart/templates/04-hub-deployment.yaml b/helm-chart/templates/04-hub-deployment.yaml index 3a3014911..ce9b810c1 100644 --- a/helm-chart/templates/04-hub-deployment.yaml +++ b/helm-chart/templates/04-hub-deployment.yaml @@ -25,6 +25,9 @@ spec: spec: dnsPolicy: ClusterFirstWithHostNet serviceAccountName: {{ include "kubeshark.serviceAccountName" . }} + {{- if .Values.tap.priorityClass }} + priorityClassName: {{ .Values.tap.priorityClass | quote }} + {{- end }} containers: - name: hub command: diff --git a/helm-chart/templates/06-front-deployment.yaml b/helm-chart/templates/06-front-deployment.yaml index 4a935a9d8..c3657d56c 100644 --- a/helm-chart/templates/06-front-deployment.yaml +++ b/helm-chart/templates/06-front-deployment.yaml @@ -177,3 +177,6 @@ spec: name: kubeshark-nginx-config-map dnsPolicy: ClusterFirstWithHostNet serviceAccountName: {{ include "kubeshark.serviceAccountName" . }} + {{- if .Values.tap.priorityClass }} + priorityClassName: {{ .Values.tap.priorityClass | quote }} + {{- end }} diff --git a/helm-chart/templates/09-worker-daemon-set.yaml b/helm-chart/templates/09-worker-daemon-set.yaml index a183eb365..a2a963bdd 100644 --- a/helm-chart/templates/09-worker-daemon-set.yaml +++ b/helm-chart/templates/09-worker-daemon-set.yaml @@ -331,6 +331,9 @@ spec: dnsPolicy: ClusterFirstWithHostNet hostNetwork: true serviceAccountName: {{ include "kubeshark.serviceAccountName" . }} + {{- if .Values.tap.priorityClass }} + priorityClassName: {{ .Values.tap.priorityClass | quote }} + {{- end }} {{- if .Values.tap.tolerations.workers }} tolerations: {{- range .Values.tap.tolerations.workers }} diff --git a/helm-chart/templates/18-cleanup-job.yaml b/helm-chart/templates/18-cleanup-job.yaml index 59a076299..716019f1c 100644 --- a/helm-chart/templates/18-cleanup-job.yaml +++ b/helm-chart/templates/18-cleanup-job.yaml @@ -10,6 +10,9 @@ spec: template: spec: serviceAccountName: {{ include "kubeshark.serviceAccountName" . }} + {{- if .Values.tap.priorityClass }} + priorityClassName: {{ .Values.tap.priorityClass | quote }} + {{- end }} restartPolicy: Never containers: - name: cleanup @@ -21,4 +24,4 @@ spec: image: '{{ .Values.tap.docker.registry }}/hub:{{ not (eq .Values.tap.docker.tag "") | ternary .Values.tap.docker.tag (include "kubeshark.defaultVersion" .) }}' {{- end }} command: ["/app/cleanup"] -{{ end -}} \ No newline at end of file +{{ end -}} diff --git a/helm-chart/templates/18-dex-deployment.yaml b/helm-chart/templates/18-dex-deployment.yaml index bf50dddc7..f9314c6a6 100644 --- a/helm-chart/templates/18-dex-deployment.yaml +++ b/helm-chart/templates/18-dex-deployment.yaml @@ -106,5 +106,7 @@ spec: secretName: kubeshark-dex-conf-secret dnsPolicy: ClusterFirstWithHostNet serviceAccountName: {{ include "kubeshark.serviceAccountName" . }} - + {{- if .Values.tap.priorityClass }} + priorityClassName: {{ .Values.tap.priorityClass | quote }} + {{- end }} {{- end }} diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index 10c9adcc5..9fe37f54b 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -139,6 +139,7 @@ tap: host: ks.svc.cluster.local tls: [] annotations: {} + priorityClass: "" routing: front: basePath: ""