wwwgmo/parcage/mariadb/statefulset-mariadb.yaml
2025-06-22 17:22:04 +02:00

94 lines
3.3 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: {{ .Release.Namespace }}
name: statefulset-mariadb
labels:
{{- include "site.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
app: mariadb
tier: mariadb
serviceName: "mariadb"
replicas: 1
template:
metadata:
labels:
app: mariadb
tier: mariadb
{{- include "site.labels" . | nindent 8 }}
annotations:
checksum/configmap: {{ include (print $.Template.BasePath "/mariadb/configmap-mariadb.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/mariadb/secret-mariadb.yaml") . | sha256sum }}
checksum/values-config: {{ .Files.Get "values-config-k3s.yaml" | sha256sum }}
spec:
automountServiceAccountToken: false
containers:
- image: {{ required ".Values.mariadb.repository entry is required!" .Values.mariadb.repository }}:{{ required ".Values.mariadb.tag entry is required!" .Values.mariadb.tag }}
imagePullPolicy: IfNotPresent
name: mariadb
envFrom:
- configMapRef:
name: configmap-mariadb-envvars
- secretRef:
name: secret-mariadb
ports:
- containerPort: 3306
name: mariadb
startupProbe:
tcpSocket:
port: 3306
failureThreshold: 12
periodSeconds: 10
timeoutSeconds: 5
livenessProbe:
tcpSocket:
port: 3306
periodSeconds: 60
failureThreshold: 1
initialDelaySeconds: 0
timeoutSeconds: 5
readinessProbe:
tcpSocket:
port: 3306
periodSeconds: 10
failureThreshold: 3
initialDelaySeconds: 0
timeoutSeconds: 5
resources:
requests:
memory: "{{ required ".Values.mariadb.ressourceRequest.memory entry is required!" .Values.mariadb.ressourceRequest.memory }}"
cpu: "{{ required ".Values.mariadb.ressourceRequest.cpu entry is required!" .Values.mariadb.ressourceRequest.cpu }}"
ephemeral-storage: "{{ required ".Values.mariadb.ressourceRequest.ephemeralStorage entry is required!" .Values.mariadb.ressourceRequest.ephemeralStorage }}"
limits:
memory: "{{ required ".Values.mariadb.ressourceLimit.memory entry is required!" .Values.mariadb.ressourceLimit.memory }}"
cpu: "{{ required ".Values.mariadb.ressourceLimit.cpu entry is required!" .Values.mariadb.ressourceLimit.cpu }}"
ephemeral-storage: "{{ required ".Values.mariadb.ressourceLimit.ephemeralStorage entry is required!" .Values.mariadb.ressourceLimit.ephemeralStorage }}"
volumeMounts:
- name: mariadb-datadir
mountPath: /var/lib/mysql
- name: mariadb-config
mountPath: /etc/mysql/conf.d/
lifecycle:
preStop:
exec:
command: ["/bin/sh","-c","pkill -SIGTERM mariadb"]
terminationGracePeriodSeconds: {{ required ".Values.mariadb.terminationGracePeriodSeconds entry is required!" .Values.mariadb.terminationGracePeriodSeconds }}
volumes:
- name: mariadb-datadir
persistentVolumeClaim:
claimName: pvc-mariadb-datadir
- name: mariadb-config
configMap:
name: configmap-mariadb-config