From 46335b2b6e789f9d68388b55696de873af96c4dd Mon Sep 17 00:00:00 2001 From: Laszlo Rafael <rlacko99@gmail.com> Date: Sun, 21 Aug 2022 18:16:41 +0200 Subject: [PATCH] Add priority classes chart --- infra/priority-classes/Chart.yaml | 10 +++ .../templates/00-priorityclass.yaml | 14 ++++ infra/priority-classes/templates/_helpers.tpl | 62 ++++++++++++++++++ infra/priority-classes/upgrade.sh | 2 + infra/priority-classes/values.yaml | 13 ++++ infra/priority-classes/values.yaml.secret | Bin 0 -> 22 bytes 6 files changed, 101 insertions(+) create mode 100644 infra/priority-classes/Chart.yaml create mode 100644 infra/priority-classes/templates/00-priorityclass.yaml create mode 100644 infra/priority-classes/templates/_helpers.tpl create mode 100755 infra/priority-classes/upgrade.sh create mode 100644 infra/priority-classes/values.yaml create mode 100644 infra/priority-classes/values.yaml.secret diff --git a/infra/priority-classes/Chart.yaml b/infra/priority-classes/Chart.yaml new file mode 100644 index 0000000..a1448aa --- /dev/null +++ b/infra/priority-classes/Chart.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +name: priority-classes +version: 1.0.0 +appVersion: 1.0.0 +description: Kubernetes additional priority classes +keywords: + - k8s + - priorityClass + +# https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ diff --git a/infra/priority-classes/templates/00-priorityclass.yaml b/infra/priority-classes/templates/00-priorityclass.yaml new file mode 100644 index 0000000..a4b3b8b --- /dev/null +++ b/infra/priority-classes/templates/00-priorityclass.yaml @@ -0,0 +1,14 @@ +{{ $Dot := . }} +{{- range .Values.priorityClasses }} +apiVersion: scheduling.k8s.io/v1 +kind: PriorityClass +metadata: + name: {{ .name }} + labels: + {{- include "priority-classes.labels" $Dot | nindent 4 }} +value: {{ .value }} +globalDefault: {{ .globalDefault | default false }} +description: {{ .description | quote }} + +--- +{{- end }} diff --git a/infra/priority-classes/templates/_helpers.tpl b/infra/priority-classes/templates/_helpers.tpl new file mode 100644 index 0000000..8394834 --- /dev/null +++ b/infra/priority-classes/templates/_helpers.tpl @@ -0,0 +1,62 @@ +{{/* +Expand the name of the chart. +*/}} +{{- define "priority-classes.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "priority-classes.fullname" -}} +{{- if .Values.fullnameOverride }} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- $name := default .Chart.Name .Values.nameOverride }} +{{- if contains $name .Release.Name }} +{{- .Release.Name | trunc 63 | trimSuffix "-" }} +{{- else }} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} +{{- end }} +{{- end }} +{{- end }} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "priority-classes.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} +{{- end }} + +{{/* +Common labels +*/}} +{{- define "priority-classes.labels" -}} +helm.sh/chart: {{ include "priority-classes.chart" . }} +{{ include "priority-classes.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end }} + +{{/* +Selector labels +*/}} +{{- define "priority-classes.selectorLabels" -}} +app.kubernetes.io/name: {{ include "priority-classes.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end }} + +{{/* +Create the name of the service account to use +*/}} +{{- define "priority-classes.serviceAccountName" -}} +{{- if .Values.serviceAccount.create }} +{{- default (include "priority-classes.fullname" .) .Values.serviceAccount.name }} +{{- else }} +{{- default "default" .Values.serviceAccount.name }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/infra/priority-classes/upgrade.sh b/infra/priority-classes/upgrade.sh new file mode 100755 index 0000000..ee03a6b --- /dev/null +++ b/infra/priority-classes/upgrade.sh @@ -0,0 +1,2 @@ +#!/bin/bash +../helm-upgrade.sh priority-classes kube-system diff --git a/infra/priority-classes/values.yaml b/infra/priority-classes/values.yaml new file mode 100644 index 0000000..8403a97 --- /dev/null +++ b/infra/priority-classes/values.yaml @@ -0,0 +1,13 @@ +priorityClasses: + - name: infra-critical + value: "1000000" + globalDefault: false + description: "This priority class should be used for critical infra components." + - name: infra-monitoring + value: "950000" + globalDefault: false + description: "This priority class should be used for infra monitoring components." + - name: infra-addon + value: "900000" + globalDefault: false + description: "This priority class should be used for infra addon components." diff --git a/infra/priority-classes/values.yaml.secret b/infra/priority-classes/values.yaml.secret new file mode 100644 index 0000000000000000000000000000000000000000..b5826d5462871e76bc1bb2238991fd6eec4ea9ac GIT binary patch literal 22 dcmZQ@_Y83kiVO&0;N89~dtcD3u!#u@?f_2o2c!T1 literal 0 HcmV?d00001 -- GitLab