mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
Chart Deprecation (#22617)
Signed-off-by: hasancelik <hasan@hazelcast.com>
This commit is contained in:
@@ -2,9 +2,12 @@ apiVersion: v1
|
||||
appVersion: "4.1"
|
||||
tillerVersion: ">=2.7.2"
|
||||
kubeVersion: ">=1.9.0-0"
|
||||
description: Hazelcast Jet is an application embeddable, distributed computing engine built on top of Hazelcast In-Memory Data Grid (IMDG). With Hazelcast IMDG providing storage functionality, Hazelcast Jet performs parallel execution to enable data-intensive applications to operate in near real-time.
|
||||
description: DEPRECATED Hazelcast Jet is an application embeddable, distributed computing engine built on top of Hazelcast In-Memory Data Grid (IMDG). With Hazelcast IMDG providing storage functionality, Hazelcast Jet performs parallel execution to enable data-intensive applications to operate in near real-time.
|
||||
name: hazelcast-jet
|
||||
version: 1.6.0
|
||||
# The hazelcast-jet chart is deprecated and no longer maintained. For details deprecation,
|
||||
# including how to un-deprecate a chart see the PROCESSES.md file.
|
||||
deprecated: true
|
||||
version: 1.6.1
|
||||
keywords:
|
||||
- hazelcast
|
||||
- jet
|
||||
@@ -13,9 +16,4 @@ home: https://jet-start.sh
|
||||
icon: http://hazelcast.com/images/logos/Hazelcast-Jet-Logo-Orange_Dark_Icon_200px.png
|
||||
sources:
|
||||
- https://github.com/hazelcast/hazelcast-jet
|
||||
maintainers:
|
||||
- name: emin
|
||||
email: emin@hazelcast.com
|
||||
- name: ali
|
||||
email: ali@hazelcast.com
|
||||
engine: gotpl
|
||||
|
||||
@@ -1,510 +0,0 @@
|
||||
:repo: helm/charts
|
||||
|
||||
== Hazelcast Jet
|
||||
|
||||
http://jet.hazelcast.org[Hazelcast Jet] is a distributed computing platform
|
||||
built for high-performance stream processing and fast batch processing. It
|
||||
embeds Hazelcast In-Memory Data Grid (IMDG) to provide a lightweight,
|
||||
simple-to-deploy package that includes scalable in-memory storage.
|
||||
|
||||
Visit http://jet.hazelcast.org[jet.hazelcast.org] to learn more about the
|
||||
architecture and use cases.
|
||||
|
||||
=== Quick Start
|
||||
|
||||
|
||||
ifeval::["{repo}"=="hazelcast/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
$ helm repo add hazelcast https://hazelcast.github.io/charts/
|
||||
$ helm repo update
|
||||
$ helm install my-release hazelcast/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release hazelcast/hazelcast-jet # Helm 2
|
||||
----
|
||||
endif::[]
|
||||
|
||||
|
||||
ifeval::["{repo}"=="helm/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
$ helm install my-release stable/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release stable/hazelcast-jet # Helm 2
|
||||
----
|
||||
endif::[]
|
||||
|
||||
=== Introduction
|
||||
|
||||
This chart bootstraps a
|
||||
https://github.com/hazelcast/hazelcast-jet-docker[Hazelcast Jet] and
|
||||
https://github.com/hazelcast/hazelcast-jet-management-center-docker[Hazelcast
|
||||
Jet Management Center] deployments on a http://kubernetes.io[Kubernetes] cluster
|
||||
using the https://helm.sh[Helm] package manager.
|
||||
|
||||
=== Prerequisites
|
||||
|
||||
* Kubernetes 1.9+
|
||||
|
||||
=== Installing the Chart
|
||||
|
||||
To install the chart with the release name `+my-release+`:
|
||||
|
||||
ifeval::["{repo}"=="hazelcast/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
$ helm install my-release hazelcast/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release hazelcast/hazelcast-jet # Helm 2
|
||||
----
|
||||
endif::[]
|
||||
|
||||
ifeval::["{repo}"=="helm/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
$ helm install my-release stable/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release stable/hazelcast-jet # Helm 2
|
||||
----
|
||||
endif::[]
|
||||
|
||||
The command deploys Hazelcast Jet on the Kubernetes cluster in the default
|
||||
configuration. The link:#configuration[configuration] section lists the
|
||||
parameters that can be configured during installation.
|
||||
|
||||
____
|
||||
*Tip*: List all releases using `+helm list+`
|
||||
____
|
||||
|
||||
=== Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `+my-release+` deployment:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
$ helm delete my-release
|
||||
----
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and
|
||||
deletes the release.
|
||||
|
||||
=== Configuration
|
||||
|
||||
The following table lists the configurable parameters of the Hazelcast chart and
|
||||
their default values.
|
||||
|
||||
[width="100%",cols="22%,53%,25%",options="header",]
|
||||
|===
|
||||
|Parameter |Description |Default
|
||||
|`+image.repository+` |Hazelcast Jet Image name |`+hazelcast/hazelcast-jet+`
|
||||
|
||||
|`+image.tag+` |Hazelcast Jet Image tag |`+{VERSION}+`
|
||||
|
||||
|`+image.pullPolicy+` |Image pull policy |`+IfNotPresent+`
|
||||
|
||||
|`+image.pullSecrets+` |Specify docker-registry secret names as an array
|
||||
|`+nil+`
|
||||
|
||||
|`+cluster.memberCount+` |Number of Hazelcast Jet members |2
|
||||
|
||||
|`+jet.javaOpts+` |Additional JAVA_OPTS properties for Hazelcast Jet member
|
||||
|`+nil+`
|
||||
|
||||
|`jet.loggingLevel` |Level of Hazelcast Jet logs (SEVERE, WARNING,
|
||||
INFO, CONFIG, FINE, FINER, and FINEST); note that changing this value
|
||||
requires setting `securityContext.runAsUser` to `0` |`nil`
|
||||
|
||||
|`+jet.yaml.hazelcast-jet+` and `+jet.yaml.hazelcast+` |Hazelcast Jet and IMDG
|
||||
YAML configurations (`+hazelcast-jet.yaml+` and `+hazelcast.yaml+` embedded into
|
||||
`+values.yaml+`) |`+{DEFAULT_JET_YAML}+` and `+{DEFAULT_HAZELCAST_YAML}+`
|
||||
|
||||
|`+jet.configurationFiles+` |Hazelcast configuration files |`+nil+`
|
||||
|
||||
|`+hostPort+` |Port under which Hazelcast Jet PODs are exposed on the host
|
||||
machines |`+nil+`
|
||||
|
||||
|`+affinity+` |Hazelcast Node affinity |`+nil+`
|
||||
|
||||
|`+tolerations+` |Hazelcast Node tolerations |`+nil+`
|
||||
|
||||
|`+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 Jet
|
||||
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+`
|
||||
|
||||
|`+livenessProbe.timeoutSeconds+` |When the probe times out |`+5+`
|
||||
|
||||
|`+livenessProbe.successThreshold+` |Minimum consecutive successes for the probe
|
||||
to be considered successful after having failed |`+1+`
|
||||
|
||||
|`+livenessProbe.failureThreshold+` |Minimum consecutive failures for the probe
|
||||
to be considered failed after having succeeded. |`+3+`
|
||||
|
||||
|`livenessProbe.path` |URL path that will be called to check liveness. |
|
||||
`/hazelcast/health/node-state`
|
||||
|
||||
|`livenessProbe.port` |Port that will be used in liveness probe calls. |`nil`
|
||||
|
||||
|`livenessProbe.scheme` |HTTPS or HTTP scheme. |`HTTP`
|
||||
|
||||
|`+readinessProbe.enabled+` |Turn on and off readiness probe |`+true+`
|
||||
|
||||
|`+readinessProbe.initialDelaySeconds+` |Delay before readiness probe is
|
||||
initiated |`+30+`
|
||||
|
||||
|`+readinessProbe.periodSeconds+` |How often to perform the probe |`+10+`
|
||||
|
||||
|`+readinessProbe.timeoutSeconds+` |When the probe times out |`+1+`
|
||||
|
||||
|`+readinessProbe.successThreshold+` |Minimum consecutive successes for the
|
||||
probe to be considered successful after having failed |`+1+`
|
||||
|
||||
|`+readinessProbe.failureThreshold+` |Minimum consecutive failures for the probe
|
||||
to be considered failed after having succeeded. |`+3+`
|
||||
|
||||
|`readinessProbe.path` |URL path that will be called to check readiness. |
|
||||
`/hazelcast/health/ready`
|
||||
|
||||
|`readinessProbe.port` |Port that will be used in readiness probe calls. |`nil`
|
||||
|
||||
|`readinessProbe.scheme` |HTTPS or HTTP scheme. |`HTTP`
|
||||
|
||||
|`+resources+` |CPU/Memory resource requests/limits |`+nil+`
|
||||
|
||||
|`+service.type+` |Kubernetes service type (`ClusterIP', `LoadBalancer', or
|
||||
`NodePort') |`+ClusterIP+`
|
||||
|
||||
|`+service.port+` |Kubernetes service port |`+5701+`
|
||||
|
||||
|`+service.clusterIP+` |IP of the service, "None" makes the service
|
||||
headless |`+None+`
|
||||
|
||||
|`+rbac.create+` |Enable installing RBAC Role authorization |`+true+`
|
||||
|
||||
|`+serviceAccount.create+` |Enable installing Service Account |`+true+`
|
||||
|
||||
|`+serviceAccount.name+` |Name of Service Account, if not set, the name is
|
||||
generated using the fullname template |`+nil+`
|
||||
|
||||
|`+securityContext.enabled+` |Enables Security Context for Hazelcast Jet and
|
||||
Hazelcast Jet Management Center |`+true+`
|
||||
|
||||
|`+securityContext.runAsUser+` |User ID used to run the Hazelcast Jet and
|
||||
Hazelcast Jet Management Center containers |`+65534+`
|
||||
|
||||
|`securityContext.runAsGroup` |Primary Group ID used to run all processes in the
|
||||
Hazelcast Jet and Hazelcast Jet Management Center containers | `+65534+`
|
||||
|
||||
|`+securityContext.fsGroup+` |Group ID associated with the Hazelcast Jet and
|
||||
Hazelcast Jet Management Center container |`+65534+`
|
||||
|
||||
|`+securityContext.readOnlyRootFilesystem+` |Enables readOnlyRootFilesystem in
|
||||
the Hazelcast Jet and Hazelcast Jet Management Center security containers |`+true+`
|
||||
|
||||
|`+metrics.enabled+` |Turn on and off JMX Prometheus metrics available at
|
||||
`+/metrics+` |`+false+`
|
||||
|
||||
|`+metrics.service.type+` |Type of the metrics service |`+ClusterIP+`
|
||||
|
||||
|`+metrics.service.port+` |Port of the `+/metrics+` endpoint and the metrics
|
||||
service |`+8080+`
|
||||
|
||||
|`+metrics.service.annotations+` |Annotations for the Prometheus discovery |
|
||||
|
||||
|`+customVolume+` |Configuration for a volume which will
|
||||
be mounted as `/data/custom' (e.g. to mount a volume with custom JARs) |`+nil+`
|
||||
|
||||
|`+managementcenter.enabled+` |Turn on and off Hazelcast Jet Management Center
|
||||
application |`+true+`
|
||||
|
||||
|`+managementcenter.image.repository+` |Hazelcast Jet Management Center Image
|
||||
name |`+hazelcast/hazelcast-jet-management-center+`
|
||||
|
||||
|`+managementcenter.image.tag+` |Hazelcast Jet Management Center Image tag
|
||||
(NOTE: must be the same or one minor release greater than Hazelcast image
|
||||
version) |`+{VERSION}+`
|
||||
|
||||
|`+managementcenter.image.pullPolicy+` |Image pull policy |`+IfNotPresent+`
|
||||
|
||||
|`+managementcenter.image.pullSecrets+` |Specify docker-registry secret names as
|
||||
an array |`+nil+`
|
||||
|
||||
|`+managementcenter.javaOpts+` |Additional JAVA_OPTS properties for Hazelcast
|
||||
Jet Management Center |`+nil+`
|
||||
|
||||
|`+managementcenter.licenseKey+` |License Key for Hazelcast Jet Management
|
||||
Center |`+nil+`
|
||||
|
||||
|`+managementcenter.licenseKeySecretName+` |Kubernetes Secret Name, where Jet
|
||||
Management Center License Key is stored (can be used instead of licenseKey)
|
||||
|`+nil+`
|
||||
|
||||
|`+managementcenter.affinity+` |Hazelcast Jet Management Center node affinity
|
||||
|`+nil+`
|
||||
|
||||
|`+managementcenter.tolerations+` |Hazelcast Jet Management Center node
|
||||
tolerations |`+nil+`
|
||||
|
||||
|`+managementcenter.nodeSelector+` |Hazelcast Jet Management Center node labels
|
||||
for pod assignment |`+nil+`
|
||||
|
||||
|`+managementcenter.resources+` |CPU/Memory resource requests/limits |`+nil+`
|
||||
|
||||
|`+managementcenter.service.type+` |Kubernetes service type (`ClusterIP',
|
||||
`LoadBalancer', or `NodePort') |`+ClusterIP+`
|
||||
|
||||
|`+managementcenter.service.port+` |Kubernetes service port |`+8081+`
|
||||
|
||||
|`+managementcenter.livenessProbe.enabled+` |Turn on and off liveness probe
|
||||
|`+true+`
|
||||
|
||||
|`+managementcenter.livenessProbe.initialDelaySeconds+` |Delay before liveness
|
||||
probe is initiated |`+30+`
|
||||
|
||||
|`+managementcenter.livenessProbe.periodSeconds+` |How often to perform the
|
||||
probe |`+10+`
|
||||
|
||||
|`+managementcenter.livenessProbe.timeoutSeconds+` |When the probe times out
|
||||
|`+5+`
|
||||
|
||||
|`+managementcenter.livenessProbe.successThreshold+` |Minimum consecutive
|
||||
successes for the probe to be considered successful after having failed |`+1+`
|
||||
|
||||
|`+managementcenter.livenessProbe.failureThreshold+` |Minimum consecutive
|
||||
failures for the probe to be considered failed after having succeeded. |`+3+`
|
||||
|
||||
|`+managementcenter.readinessProbe.enabled+` |Turn on and off readiness probe
|
||||
|`+true+`
|
||||
|
||||
|`+managementcenter.readinessProbe.initialDelaySeconds+` |Delay before readiness
|
||||
probe is initiated |`+30+`
|
||||
|
||||
|`+managementcenter.readinessProbe.periodSeconds+` |How often to perform the
|
||||
probe |`+10+`
|
||||
|
||||
|`+managementcenter.readinessProbe.timeoutSeconds+` |When the probe times out
|
||||
|`+1+`
|
||||
|
||||
|`+managementcenter.readinessProbe.successThreshold+` |Minimum consecutive
|
||||
successes for the probe to be considered successful after having failed |`+1+`
|
||||
|
||||
|`+managementcenter.readinessProbe.failureThreshold+` |Minimum consecutive
|
||||
failures for the probe to be considered failed after having succeeded. |`+3+`
|
||||
|===
|
||||
|
||||
Specify each parameter using the `+--set key=value[,key=value]+` argument to
|
||||
`+helm install+`. For example,
|
||||
|
||||
|
||||
ifeval::["{repo}"=="hazelcast/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
# Helm 3
|
||||
$ helm install my-release \
|
||||
--set cluster.memberCount=3,serviceAccount.create=false \
|
||||
hazelcast/hazelcast-jet
|
||||
|
||||
# Helm 2
|
||||
$ helm install --name my-release \
|
||||
--set cluster.memberCount=3,serviceAccount.create=false \
|
||||
hazelcast/hazelcast-jet
|
||||
----
|
||||
endif::[]
|
||||
|
||||
ifeval::["{repo}"=="helm/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
|
||||
# Helm 3
|
||||
$ helm install my-release \
|
||||
--set cluster.memberCount=3,serviceAccount.create=false \
|
||||
stable/hazelcast-jet
|
||||
|
||||
# Helm 2
|
||||
$ helm install --name my-release \
|
||||
--set cluster.memberCount=3,serviceAccount.create=false \
|
||||
stable/hazelcast-jet
|
||||
----
|
||||
endif::[]
|
||||
|
||||
|
||||
The above command sets number of Hazelcast Jet members to 3.
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the parameters can be
|
||||
provided while installing the chart. For example,
|
||||
|
||||
ifeval::["{repo}"=="hazelcast/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
$ helm install my-release -f values.yaml hazelcast/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release -f values.yaml hazelcast/hazelcast-jet # Helm 2
|
||||
----
|
||||
endif::[]
|
||||
|
||||
ifeval::["{repo}"=="helm/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
$ helm install my-release -f values.yaml stable/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release -f values.yaml stable/hazelcast-jet # Helm 2
|
||||
----
|
||||
endif::[]
|
||||
|
||||
|
||||
____
|
||||
*Tip*: You can use the default values.yaml
|
||||
____
|
||||
|
||||
=== Custom Hazelcast IMDG and Jet configuration
|
||||
|
||||
Custom Hazelcast IMDG and Hazelcast Jet configuration can be specified inside
|
||||
`+values.yaml+`, as the `+jet.yaml.hazelcast+` and `+jet.yaml.hazelcast-jet+`
|
||||
properties.
|
||||
|
||||
[source,yaml]
|
||||
----
|
||||
jet:
|
||||
yaml:
|
||||
hazelcast:
|
||||
network:
|
||||
join:
|
||||
multicast:
|
||||
enabled: false
|
||||
kubernetes:
|
||||
enabled: true
|
||||
service-name: ${serviceName}
|
||||
namespace: ${namespace}
|
||||
resolve-not-ready-addresses: true
|
||||
management-center:
|
||||
enabled: ${hazelcast.mancenter.enabled}
|
||||
url: ${hazelcast.mancenter.url}
|
||||
hazelcast-jet:
|
||||
instance:
|
||||
flow-control-period: 100
|
||||
backup-count: 1
|
||||
scale-up-delay-millis: 10000
|
||||
lossless-restart-enabled: false
|
||||
edge-defaults:
|
||||
queue-size: 1024
|
||||
packet-size-limit: 16384
|
||||
receive-window-multiplier: 3
|
||||
metrics:
|
||||
enabled: true
|
||||
jmx-enabled: true
|
||||
retention-seconds: 120
|
||||
collection-interval-seconds: 5
|
||||
metrics-for-data-structures: false
|
||||
----
|
||||
|
||||
Alternatively, above parameters can be modified directly via `+helm+` commands.
|
||||
For example,
|
||||
|
||||
ifeval::["{repo}"=="hazelcast/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
# Helm 3
|
||||
$ helm install my-jet-release \
|
||||
--set jet.yaml.hazelcast-jet.instance.backup-count=2,jet.yaml.hazelcast.network.kubernetes.service-name=jet-service \
|
||||
hazelcast/hazelcast-jet
|
||||
|
||||
# Helm 2
|
||||
$ helm install --name my-jet-release \
|
||||
--set jet.yaml.hazelcast-jet.instance.backup-count=2,jet.yaml.hazelcast.network.kubernetes.service-name=jet-service \
|
||||
hazelcast/hazelcast-jet
|
||||
----
|
||||
endif::[]
|
||||
|
||||
ifeval::["{repo}"=="helm/charts"]
|
||||
[source,bash]
|
||||
----
|
||||
# Helm 3
|
||||
$ helm install my-jet-release \
|
||||
--set jet.yaml.hazelcast-jet.instance.backup-count=2,jet.yaml.hazelcast.network.kubernetes.service-name=jet-service \
|
||||
stable/hazelcast-jet
|
||||
|
||||
# Helm 2
|
||||
$ helm install --name my-jet-release \
|
||||
--set jet.yaml.hazelcast-jet.instance.backup-count=2,jet.yaml.hazelcast.network.kubernetes.service-name=jet-service \
|
||||
stable/hazelcast-jet
|
||||
----
|
||||
endif::[]
|
||||
|
||||
=== Adding custom JAR files to the classpath
|
||||
|
||||
You can mount any volume which contains your JAR files
|
||||
to the pods created by helm chart using `customVolume` configuration.
|
||||
|
||||
When the `customVolume` set, it will mount provided volume to the pod
|
||||
on `/data/custom` path.
|
||||
This path also appended to the classpath of running Java process.
|
||||
|
||||
For example, if you have existing host path Persistent Volume and
|
||||
Persistent Volume Claims like below;
|
||||
|
||||
[source,yaml]
|
||||
----
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: jet-hostpathpv-volume
|
||||
labels:
|
||||
type: local
|
||||
spec:
|
||||
storageClassName: manual
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
hostPath:
|
||||
path: "/path/to/my/jars"
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: jet-pv-claim
|
||||
spec:
|
||||
storageClassName: manual
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
----
|
||||
|
||||
You can configure your Helm chart to use it like below in your `values.yaml`
|
||||
file.
|
||||
[source,yaml]
|
||||
----
|
||||
customVolume:
|
||||
persistentVolumeClaim:
|
||||
claimName: jet-pv-claim
|
||||
----
|
||||
|
||||
See https://kubernetes.io/docs/concepts/storage/[Volumes] section on the
|
||||
Kubernetes documentation for other available options.
|
||||
|
||||
== Notable changes
|
||||
|
||||
=== 1.4.0
|
||||
|
||||
Hazelcast REST Endpoints are no longer enabled by default and the
|
||||
parameter `jet.rest` is no longer available. If you want to enable
|
||||
REST, please add the related `endpoint-groups` to the Hazelcast
|
||||
Configuration (`jet.yaml.hazelcast`). For example:
|
||||
|
||||
[source,yaml]
|
||||
----
|
||||
rest-api:
|
||||
enabled: true
|
||||
endpoint-groups:
|
||||
HEALTH_CHECK:
|
||||
enabled: true
|
||||
CLUSTER_READ:
|
||||
enabled: true
|
||||
CLUSTER_WRITE:
|
||||
enabled: true
|
||||
----
|
||||
@@ -0,0 +1,264 @@
|
||||
# DEPRECATED - Hazelcast Jet
|
||||
|
||||
[Hazelcast Jet](http://jet.hazelcast.org) is a distributed computing platform built for high-performance stream processing and fast batch processing. It embeds Hazelcast In-Memory Data Grid (IMDG) to provide a lightweight, simple-to-deploy package that includes scalable in-memory storage.
|
||||
|
||||
Visit [jet-start.sh](https://jet-start.sh) to learn more about the architecture and use cases.
|
||||
|
||||
## This Helm chart is deprecated
|
||||
|
||||
**Given the [stable deprecation timeline](https://github.com/helm/charts#deprecation-timeline), the Hazelcast Jet Helm chart is now located at [hazelcast/charts](https://github.com/hazelcast/charts/).**
|
||||
|
||||
**The Hazelcast Jet chart repo is also avaliable at [Helm Hub](https://hub.helm.sh/charts/hazelcast/hazelcast-jet).**
|
||||
|
||||
To install new chart, you just need to add the related repo and use `hazelcast/hazelcast-jet ` instead of `stable/hazelcast-jet` as a chart name.
|
||||
|
||||
```bash
|
||||
$ helm repo add hazelcast https://hazelcast.github.io/charts
|
||||
$ helm install my-release hazelcast/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release hazelcast/hazelcast-jet # Helm 2
|
||||
```
|
||||
|
||||
|
||||
## Quick Start
|
||||
|
||||
$ helm install my-release stable/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release stable/hazelcast-jet # Helm 2
|
||||
|
||||
## Introduction
|
||||
|
||||
This chart bootstraps a [Hazelcast Jet](https://github.com/hazelcast/hazelcast-jet-docker) and [Hazelcast Jet Management Center](https://github.com/hazelcast/hazelcast-jet-management-center-docker) deployments on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Kubernetes 1.9+
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install the chart with the release name `my-release`:
|
||||
|
||||
$ helm install my-release stable/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release stable/hazelcast-jet # Helm 2
|
||||
|
||||
The command deploys Hazelcast Jet on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
|
||||
|
||||
> **Tip**: List all releases using `helm list`
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To uninstall/delete the `my-release` deployment:
|
||||
|
||||
$ helm delete my-release
|
||||
|
||||
The command removes all the Kubernetes components associated with the chart and deletes the release.
|
||||
|
||||
## Configuration
|
||||
|
||||
The following table lists the configurable parameters of the Hazelcast chart and their default values.
|
||||
|
||||
| Parameter | Description | Default |
|
||||
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
|
||||
| image.repository | Hazelcast Jet Image name | hazelcast/hazelcast-jet |
|
||||
| image.tag | Hazelcast Jet Image tag | {VERSION} |
|
||||
| image.pullPolicy | Image pull policy | IfNotPresent |
|
||||
| image.pullSecrets | Specify docker-registry secret names as an array | nil |
|
||||
| cluster.memberCount | Number of Hazelcast Jet members | 2 |
|
||||
| jet.javaOpts | Additional JAVA_OPTS properties for Hazelcast Jet member | nil |
|
||||
| jet.loggingLevel | Level of Hazelcast Jet logs (SEVERE, WARNING, INFO, CONFIG, FINE, FINER, and FINEST); note that changing this value requires setting securityContext.runAsUser to 0 | nil |
|
||||
| jet.yaml.hazelcast-jet and jet.yaml.hazelcast | Hazelcast Jet and IMDG YAML configurations (hazelcast-jet.yaml and hazelcast.yaml embedded into values.yaml) | {DEFAULT_JET_YAML} and {DEFAULT_HAZELCAST_YAML} |
|
||||
| jet.configurationFiles | Hazelcast configuration files | nil |
|
||||
| hostPort | Port under which Hazelcast Jet PODs are exposed on the host machines | nil |
|
||||
| affinity | Hazelcast Node affinity | nil |
|
||||
| tolerations | Hazelcast Node tolerations | nil |
|
||||
| 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 Jet 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 |
|
||||
| livenessProbe.timeoutSeconds | When the probe times out | 5 |
|
||||
| livenessProbe.successThreshold | Minimum consecutive successes for the probe to be considered successful after having failed | 1 |
|
||||
| livenessProbe.failureThreshold | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 3 |
|
||||
| livenessProbe.path | URL path that will be called to check liveness. | /hazelcast/health/node-state |
|
||||
| livenessProbe.port | Port that will be used in liveness probe calls. | nil |
|
||||
| livenessProbe.scheme | HTTPS or HTTP scheme. | HTTP |
|
||||
| readinessProbe.enabled | Turn on and off readiness probe | true |
|
||||
| readinessProbe.initialDelaySeconds | Delay before readiness probe is initiated | 30 |
|
||||
| readinessProbe.periodSeconds | How often to perform the probe | 10 |
|
||||
| readinessProbe.timeoutSeconds | When the probe times out | 1 |
|
||||
| readinessProbe.successThreshold | Minimum consecutive successes for the probe to be considered successful after having failed | 1 |
|
||||
| readinessProbe.failureThreshold | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 3 |
|
||||
| readinessProbe.path | URL path that will be called to check readiness. | /hazelcast/health/ready |
|
||||
| readinessProbe.port | Port that will be used in readiness probe calls. | nil |
|
||||
| readinessProbe.scheme | HTTPS or HTTP scheme. | HTTP |
|
||||
| resources | CPU/Memory resource requests/limits | nil |
|
||||
| service.type | Kubernetes service type (`ClusterIP`, `LoadBalancer`, or `NodePort`) | ClusterIP |
|
||||
| service.port | Kubernetes service port | 5701 |
|
||||
| service.clusterIP | IP of the service, "None" makes the service headless | None |
|
||||
| rbac.create | Enable installing RBAC Role authorization | true |
|
||||
| serviceAccount.create | Enable installing Service Account | true |
|
||||
| serviceAccount.name | Name of Service Account, if not set, the name is generated using the fullname template | nil |
|
||||
| securityContext.enabled | Enables Security Context for Hazelcast Jet and Hazelcast Jet Management Center | true |
|
||||
| securityContext.runAsUser | User ID used to run the Hazelcast Jet and Hazelcast Jet Management Center containers | 65534 |
|
||||
| securityContext.runAsGroup | Primary Group ID used to run all processes in the Hazelcast Jet and Hazelcast Jet Management Center containers | 65534 |
|
||||
| securityContext.fsGroup | Group ID associated with the Hazelcast Jet and Hazelcast Jet Management Center container | 65534 |
|
||||
| securityContext.readOnlyRootFilesystem | Enables readOnlyRootFilesystem in the Hazelcast Jet and Hazelcast Jet Management Center security containers | true |
|
||||
| metrics.enabled | Turn on and off JMX Prometheus metrics available at `/metrics` | false |
|
||||
| metrics.service.type | Type of the metrics service | ClusterIP |
|
||||
| metrics.service.port | Port of the `/metrics` endpoint and the metrics service | 8080 |
|
||||
| metrics.service.annotations | Annotations for the Prometheus discovery |
|
||||
| customVolume | Configuration for a volume which will be mounted as `/data/custom` (e.g. to mount a volume with custom JARs) | nil |
|
||||
| managementcenter.enabled | Turn on and off Hazelcast Jet Management Center application | true |
|
||||
| managementcenter.image.repository | Hazelcast Jet Management Center Image name | hazelcast/hazelcast-jet-management-center |
|
||||
| managementcenter.image.tag | Hazelcast Jet Management Center Image tag (NOTE: must be the same or one minor release greater than Hazelcast image version) | {VERSION} |
|
||||
| managementcenter.image.pullPolicy | Image pull policy | IfNotPresent |
|
||||
| managementcenter.image.pullSecrets | Specify docker-registry secret names as an array | nil |
|
||||
| managementcenter.javaOpts | Additional `JAVA_OPTS` properties for Hazelcast Jet Management Center | nil |
|
||||
| managementcenter.licenseKey | License Key for Hazelcast Jet Management Center | nil |
|
||||
| managementcenter.licenseKeySecretName | Kubernetes Secret Name, where Jet Management Center License Key is stored (can be used instead of licenseKey) | nil |
|
||||
| managementcenter.affinity | Hazelcast Jet Management Center node affinity | nil |
|
||||
| managementcenter.tolerations | Hazelcast Jet Management Center node tolerations | nil |
|
||||
| managementcenter.nodeSelector | Hazelcast Jet Management Center node labels for pod assignment | nil |
|
||||
| managementcenter.resources | CPU/Memory resource requests/limits | nil |
|
||||
| managementcenter.service.type | Kubernetes service type (`ClusterIP`, `LoadBalancer`, or `NodePort`) | ClusterIP |
|
||||
| managementcenter.service.port | Kubernetes service port | 8081 |
|
||||
| managementcenter.livenessProbe.enabled | Turn on and off liveness probe | true |
|
||||
| managementcenter.livenessProbe.initialDelaySeconds | Delay before liveness probe is initiated | 30 |
|
||||
| managementcenter.livenessProbe.periodSeconds | How often to perform the probe | 10 |
|
||||
| managementcenter.livenessProbe.timeoutSeconds | When the probe times out | 5 |
|
||||
| managementcenter.livenessProbe.successThreshold | Minimum consecutive successes for the probe to be considered successful after having failed | 1 |
|
||||
| managementcenter.livenessProbe.failureThreshold | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 3 |
|
||||
| managementcenter.readinessProbe.enabled | Turn on and off readiness probe | true |
|
||||
| managementcenter.readinessProbe.initialDelaySeconds | Delay before readiness probe is initiated | 30 |
|
||||
| managementcenter.readinessProbe.periodSeconds | How often to perform the probe | 10 |
|
||||
| managementcenter.readinessProbe.timeoutSeconds | When the probe times out | 1 |
|
||||
| managementcenter.readinessProbe.successThreshold | Minimum consecutive successes for the probe to be considered successful after having failed | 1 |
|
||||
| managementcenter.readinessProbe.failureThreshold | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 3 |
|
||||
|
||||
|
||||
Specify each parameter using the `--set key=value,key=value` argument to `helm install`. For example,
|
||||
|
||||
# Helm 3
|
||||
$ helm install my-release \
|
||||
--set cluster.memberCount=3,serviceAccount.create=false \
|
||||
stable/hazelcast-jet
|
||||
|
||||
# Helm 2
|
||||
$ helm install --name my-release \
|
||||
--set cluster.memberCount=3,serviceAccount.create=false \
|
||||
stable/hazelcast-jet
|
||||
|
||||
The above command sets number of Hazelcast Jet members to 3.
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
|
||||
|
||||
$ helm install my-release -f values.yaml stable/hazelcast-jet # Helm 3
|
||||
$ helm install --name my-release -f values.yaml stable/hazelcast-jet # Helm 2
|
||||
|
||||
> **Tip**: You can use the default values.yaml
|
||||
|
||||
## Custom Hazelcast IMDG and Jet configuration
|
||||
|
||||
Custom Hazelcast IMDG and Hazelcast Jet configuration can be specified inside `values.yaml`, as the `jet.yaml.hazelcast` and `jet.yaml.hazelcast-jet` properties.
|
||||
|
||||
jet:
|
||||
yaml:
|
||||
hazelcast:
|
||||
network:
|
||||
join:
|
||||
multicast:
|
||||
enabled: false
|
||||
kubernetes:
|
||||
enabled: true
|
||||
service-name: ${serviceName}
|
||||
namespace: ${namespace}
|
||||
resolve-not-ready-addresses: true
|
||||
management-center:
|
||||
enabled: ${hazelcast.mancenter.enabled}
|
||||
url: ${hazelcast.mancenter.url}
|
||||
hazelcast-jet:
|
||||
instance:
|
||||
flow-control-period: 100
|
||||
backup-count: 1
|
||||
scale-up-delay-millis: 10000
|
||||
lossless-restart-enabled: false
|
||||
edge-defaults:
|
||||
queue-size: 1024
|
||||
packet-size-limit: 16384
|
||||
receive-window-multiplier: 3
|
||||
metrics:
|
||||
enabled: true
|
||||
jmx-enabled: true
|
||||
retention-seconds: 120
|
||||
collection-interval-seconds: 5
|
||||
metrics-for-data-structures: false
|
||||
|
||||
Alternatively, above parameters can be modified directly via `helm` commands. For example,
|
||||
|
||||
# Helm 3
|
||||
$ helm install my-jet-release \
|
||||
--set jet.yaml.hazelcast-jet.instance.backup-count=2,jet.yaml.hazelcast.network.kubernetes.service-name=jet-service \
|
||||
stable/hazelcast-jet
|
||||
|
||||
# Helm 2
|
||||
$ helm install --name my-jet-release \
|
||||
--set jet.yaml.hazelcast-jet.instance.backup-count=2,jet.yaml.hazelcast.network.kubernetes.service-name=jet-service \
|
||||
stable/hazelcast-jet
|
||||
|
||||
## Adding custom JAR files to the classpath
|
||||
|
||||
You can mount any volume which contains your JAR files to the pods created by helm chart using `customVolume` configuration.
|
||||
|
||||
When the `customVolume` set, it will mount provided volume to the pod on `/data/custom` path. This path also appended to the classpath of running Java process.
|
||||
|
||||
For example, if you have existing host path Persistent Volume and Persistent Volume Claims like below;
|
||||
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: jet-hostpathpv-volume
|
||||
labels:
|
||||
type: local
|
||||
spec:
|
||||
storageClassName: manual
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
hostPath:
|
||||
path: "/path/to/my/jars"
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: jet-pv-claim
|
||||
spec:
|
||||
storageClassName: manual
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
|
||||
You can configure your Helm chart to use it like below in your `values.yaml` file.
|
||||
|
||||
customVolume:
|
||||
persistentVolumeClaim:
|
||||
claimName: jet-pv-claim
|
||||
|
||||
See [Volumes](https://kubernetes.io/docs/concepts/storage/) section on the Kubernetes documentation for other available options.
|
||||
|
||||
# Notable changes
|
||||
|
||||
## 1.4.0
|
||||
|
||||
Hazelcast REST Endpoints are no longer enabled by default and the parameter `jet.rest` is no longer available. If you want to enable REST, please add the related `endpoint-groups` to the Hazelcast Configuration (`jet.yaml.hazelcast`). For example:
|
||||
|
||||
rest-api:
|
||||
enabled: true
|
||||
endpoint-groups:
|
||||
HEALTH_CHECK:
|
||||
enabled: true
|
||||
CLUSTER_READ:
|
||||
enabled: true
|
||||
CLUSTER_WRITE:
|
||||
enabled: true
|
||||
Reference in New Issue
Block a user