diff options
author | Mike Elliott <mike.elliott@amdocs.com> | 2018-04-12 12:16:28 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2018-04-12 12:16:28 +0000 |
commit | 71dfc47a8a0163b7b64958f18bd3b2b105a53a10 (patch) | |
tree | 087e9a0bbb78590d52b7c16e494f50e39f6d0a8b /kubernetes/dcaegen2/charts/redis/templates/statefulset.yaml | |
parent | 7dba27e97aae16d6d12833a0593ec828bfef38c4 (diff) | |
parent | 3c751b3a2eadda14ee634635d8379fa5849ca38f (diff) |
Merge "Add chart for redis cluster"
Diffstat (limited to 'kubernetes/dcaegen2/charts/redis/templates/statefulset.yaml')
-rw-r--r-- | kubernetes/dcaegen2/charts/redis/templates/statefulset.yaml | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/kubernetes/dcaegen2/charts/redis/templates/statefulset.yaml b/kubernetes/dcaegen2/charts/redis/templates/statefulset.yaml new file mode 100644 index 0000000000..472471416b --- /dev/null +++ b/kubernetes/dcaegen2/charts/redis/templates/statefulset.yaml @@ -0,0 +1,116 @@ +{{/* +# Copyright © 2017 Amdocs, AT&T, Bell Canada +# # +# # Licensed under the Apache License, Version 2.0 (the "License"); +# # you may not use this file except in compliance with the License. +# # You may obtain a copy of the License at +# # +# # http://www.apache.org/licenses/LICENSE-2.0 +# # +# # Unless required by applicable law or agreed to in writing, software +# # distributed under the License is distributed on an "AS IS" BASIS, +# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# # See the License for the specific language governing permissions and +# # limitations under the License. +*/}} +apiVersion: apps/v1beta1 +kind: StatefulSet +metadata: + name: {{ include "common.fullname" . }} + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + serviceName: {{ .Values.service.name }} + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + initContainers: + containers: + - name: {{ include "common.name" . }} + image: "{{ .Values.repository | default .Values.repository }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + command: + - /bin/sh + - -c + - | + /opt/scripts/redis-cluster-config.sh & + /usr/local/bin/redis-server-config.sh + ports: + - containerPort: {{ .Values.service.internalPort }} + name: {{ .Values.service.name }} + - containerPort: {{ .Values.service.internalPort2 }} + name: {{ .Values.service.name2 }} + # disable liveness probe when breakpoints set in debugger + # so K8s doesn't restart unresponsive container + {{- if eq .Values.liveness.enabled true }} + livenessProbe: + exec: + command: + - sh + - -c + - "redis-cli -h $(hostname) ping" + initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} + timeoutSeconds: {{ .Values.liveness.timeoutSeconds }} + {{end -}} + readinessProbe: + tcpSocket: + port: {{ .Values.service.internalPort }} + initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} + periodSeconds: {{ .Values.readiness.periodSeconds }} + env: + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /conf + name: {{ include "common.fullname" . }}-config + - mountPath: /data + name: {{ include "common.fullname" . }}-data + - mountPath: /opt/scripts + name: {{ include "common.fullname" . }}-scripts + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 10 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 10 }} + {{- end }} + volumes: + - name: {{ include "common.fullname" . }}-config + configMap: + name: {{ include "common.fullname" . }} + items: + - key: redis.conf + path: redis.conf + - name: {{ include "common.fullname" . }}-scripts + configMap: + name: {{ include "common.fullname" . }}-scripts + defaultMode: 0755 + - name: localtime + hostPath: + path: /etc/localtime + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" + volumeClaimTemplates: + - metadata: + name: {{ include "common.fullname" . }}-data + labels: + name: {{ include "common.fullname" . }} + spec: + accessModes: [ {{ .Values.persistence.accessMode }} ] + storageClassName: manual + resources: + requests: + storage: {{ .Values.persistence.size }} |