Merge "[memcached] Change deployment type to statefulset"

This commit is contained in:
Zuul 2024-09-19 16:02:38 +00:00 committed by Gerrit Code Review
commit 883e8b7d80
4 changed files with 45 additions and 12 deletions

View File

@ -15,6 +15,6 @@ apiVersion: v1
appVersion: v1.5.5
description: OpenStack-Helm Memcached
name: memcached
version: 0.1.15
version: 0.1.16
home: https://github.com/memcached/memcached
...

View File

@ -18,7 +18,18 @@ limitations under the License.
{{- $_ := set . "deployment_name" .Release.Name }}
{{- end }}
{{- if .Values.manifests.deployment }}
{{- define "memcachedProbeTemplate" }}
tcpSocket:
port: {{ tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
{{- end }}
{{- define "exporterProbeTemplate" }}
httpGet:
path: /metrics
port: {{ tuple "oslo_cache" "internal" "metrics" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
{{- end }}
{{- if .Values.manifests.statefulset }}
{{- $envAll := . }}
{{- $rcControllerName := printf "%s-%s" $envAll.deployment_name "memcached" }}
@ -27,7 +38,7 @@ limitations under the License.
{{ tuple $envAll "memcached" $rcControllerName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
---
apiVersion: apps/v1
kind: Deployment
kind: StatefulSet
metadata:
name: {{ $rcControllerName | quote }}
annotations:
@ -35,7 +46,9 @@ metadata:
labels:
{{ tuple $envAll "memcached" "server" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
spec:
podManagementPolicy: Parallel
replicas: {{ .Values.pod.replicas.server }}
serviceName: "{{ tuple "oslo_cache" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}"
selector:
matchLabels:
{{ tuple $envAll "memcached" "server" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 6 }}
@ -79,9 +92,8 @@ spec:
- /tmp/memcached.sh
ports:
- containerPort: {{ tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
readinessProbe:
tcpSocket:
port: {{ tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
{{ dict "envAll" $envAll "component" "memcached" "container" "memcached" "type" "readiness" "probeTemplate" (include "memcachedProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }}
{{ dict "envAll" $envAll "component" "memcached" "container" "memcached" "type" "liveness" "probeTemplate" (include "memcachedProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }}
volumeMounts:
- name: pod-tmp
mountPath: /tmp
@ -91,8 +103,7 @@ spec:
readOnly: true
{{- if .Values.monitoring.prometheus.enabled }}
- name: memcached-exporter
image: {{ .Values.images.tags.prometheus_memcached_exporter }}
imagePullPolicy: {{ .Values.images.pull_policy }}
{{ tuple $envAll "prometheus_memcached_exporter" | include "helm-toolkit.snippets.image" | indent 10 }}
{{ tuple $envAll $envAll.Values.pod.resources.prometheus_memcached_exporter | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
{{ dict "envAll" $envAll "application" "server" "container" "memcached_exporter" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 10 }}
command:
@ -101,9 +112,8 @@ spec:
ports:
- name: metrics
containerPort: {{ tuple "oslo_cache" "internal" "metrics" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
readinessProbe:
tcpSocket:
port: {{ tuple "oslo_cache" "internal" "metrics" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
{{ dict "envAll" $envAll "component" "memcached" "container" "memcached_exporter" "type" "readiness" "probeTemplate" (include "exporterProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }}
{{ dict "envAll" $envAll "component" "memcached" "container" "memcached_exporter" "type" "liveness" "probeTemplate" (include "exporterProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 10 }}
volumeMounts:
- name: pod-tmp
mountPath: /tmp

View File

@ -139,7 +139,7 @@ labels:
manifests:
configmap_bin: true
deployment: true
statefulset: true
job_image_repo_sync: true
network_policy: false
service: true
@ -157,6 +157,28 @@ pod:
memcached_exporter:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
probes:
memcached:
memcached:
readiness:
enabled: True
params:
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 5
memcached_exporter:
liveness:
enabled: True
params:
initialDelaySeconds: 15
periodSeconds: 60
timeoutSeconds: 10
readiness:
enabled: True
params:
initialDelaySeconds: 5
periodSeconds: 60
timeoutSeconds: 10
affinity:
anti:
topologyKey:

View File

@ -16,4 +16,5 @@ memcached:
- 0.1.13 Replace node-role.kubernetes.io/master with control-plane
- 0.1.14 Use quay.io/airshipit/kubernetes-entrypoint:latest-ubuntu_focal by default
- 0.1.15 Allow to pass additional service parameters
- 0.1.16 Change deployment type to statefulset
...