diff --git a/stable/hazelcast/Chart.yaml b/stable/hazelcast/Chart.yaml index 637ceea0a8..2120ea9e80 100644 --- a/stable/hazelcast/Chart.yaml +++ b/stable/hazelcast/Chart.yaml @@ -1,6 +1,6 @@ name: hazelcast -version: 1.0.1 -appVersion: "3.10.2" +version: 1.1.0 +appVersion: "3.11" description: Hazelcast IMDG is the most widely used in-memory data grid with hundreds of thousands of installed clusters around the world. It offers caching solutions ensuring that data is in the right place when it’s needed for optimal performance. keywords: - hazelcast diff --git a/stable/hazelcast/README.md b/stable/hazelcast/README.md index 8773f5c93b..2458fa9b71 100644 --- a/stable/hazelcast/README.md +++ b/stable/hazelcast/README.md @@ -53,6 +53,8 @@ The following table lists the configurable parameters of the Hazelcast chart and | `hazelcast.javaOpts` | Additional JAVA_OPTS properties for Hazelcast member | `nil` | | `hazelcast.configurationFiles` | Hazelcast configuration files | `{DEFAULT_HAZELCAST_XML}` | | `nodeSelector` | Hazelcast Node labels for pod assignment | `nil` | +| `gracefulShutdown.enabled` | Turn on and off Graceful Shutdown | `true` | +| `gracefulShutdown.maxWaitSeconds` | Maximum time to wait for the Hazelcast POD to shut down | `600` | | `livenessProbe.enabled` | Turn on and off liveness probe | `true` | | `livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | `30` | | `livenessProbe.periodSeconds` | How often to perform the probe | `10` | diff --git a/stable/hazelcast/templates/statefulset.yaml b/stable/hazelcast/templates/statefulset.yaml index 94bd5b0cf2..aeb0a91f5b 100644 --- a/stable/hazelcast/templates/statefulset.yaml +++ b/stable/hazelcast/templates/statefulset.yaml @@ -28,6 +28,9 @@ spec: {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 8 }} + {{- end }} + {{- if .Values.gracefulShutdown.enabled }} + terminationGracePeriodSeconds: {{ .Values.gracefulShutdown.maxWaitSeconds }} {{- end }} containers: - name: {{ template "hazelcast.fullname" . }} @@ -65,7 +68,7 @@ spec: mountPath: /data/hazelcast env: - name: JAVA_OPTS - value: "-Dhazelcast.rest.enabled={{ .Values.hazelcast.rest }} -Dhazelcast.config=/data/hazelcast/hazelcast.xml -DserviceName={{ template "hazelcast.fullname" . }} -Dnamespace={{ .Release.Namespace }} {{ .Values.hazelcast.javaOpts }}" + value: "-Dhazelcast.rest.enabled={{ .Values.hazelcast.rest }} -Dhazelcast.config=/data/hazelcast/hazelcast.xml -DserviceName={{ template "hazelcast.fullname" . }} -Dnamespace={{ .Release.Namespace }} {{ if .Values.gracefulShutdown.enabled }}-Dhazelcast.shutdownhook.policy=GRACEFUL -Dhazelcast.shutdownhook.enabled=true -Dhazelcast.graceful.shutdown.max.wait={{ .Values.gracefulShutdown.maxWaitSeconds }} {{ end }}{{ .Values.hazelcast.javaOpts }}" serviceAccountName: {{ template "hazelcast.serviceAccountName" . }} volumes: - name: hazelcast-storage diff --git a/stable/hazelcast/values.yaml b/stable/hazelcast/values.yaml index bf956a152b..983955cedf 100644 --- a/stable/hazelcast/values.yaml +++ b/stable/hazelcast/values.yaml @@ -3,9 +3,9 @@ ## image: # repository is the Hazelcast image name - repository: "hazelcast/hazelcast-kubernetes" + repository: "hazelcast/hazelcast" # tag is the Hazelcast image tag - tag: "3.10.2" + tag: "3.11" # pullPolicy is the Docker image pull policy # It's recommended to change this to 'Always' if the image tag is 'latest' # ref: http://kubernetes.io/docs/user-guide/images/#updating-images @@ -42,15 +42,11 @@ hazelcast: - - - - - ${serviceName} - ${namespace} - - - + + ${serviceName} + ${namespace} + true + @@ -60,35 +56,42 @@ hazelcast: # ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector nodeSelector: {} +# graceful shutdown properties +gracefulShutdown: + # enabled is a flag used to enable Graceful Shutdown + enabled: true + # maxWaitSeconds is the maximum time to wait for the Hazelcast POD to shut down + maxWaitSeconds: 600 + # Hazelcast Liveness probe livenessProbe: - # enabled is a flag to used to enable liveness probe + # enabled is a flag used to enable liveness probe enabled: true # initialDelaySeconds is a delay before liveness probe is initiated initialDelaySeconds: 30 # periodSeconds decides how often to perform the probe periodSeconds: 10 # timeoutSeconds decides when the probe times out - timeoutSeconds: 5 + timeoutSeconds: 10 # successThreshold is the minimum consecutive successes for the probe to be considered successful after having failed successThreshold: 1 # failureThreshold is the minimum consecutive failures for the probe to be considered failed after having succeeded - failureThreshold: 3 + failureThreshold: 10 # Hazelcast Readiness probe readinessProbe: - # enabled is a flag to used to enable readiness probe + # enabled is a flag used to enable readiness probe enabled: true # initialDelaySeconds is a delay before readiness probe is initiated initialDelaySeconds: 30 # periodSeconds decides how often to perform the probe periodSeconds: 10 # timeoutSeconds decides when the probe times out - timeoutSeconds: 1 + timeoutSeconds: 10 # successThreshold is the minimum consecutive successes for the probe to be considered successful after having failed successThreshold: 1 # failureThreshold is the minimum consecutive failures for the probe to be considered failed after having succeeded - failureThreshold: 3 + failureThreshold: 10 # Configure resource requests and limits # ref: http://kubernetes.io/docs/user-guide/compute-resources/