Deploying Hazelcast Enterprise on Kubernetes with Helm
This chart bootstraps a Hazelcast Enterprise and Management Center deployments on a Kubernetes cluster using the Helm package manager.
Prerequisites | Useful resources |
---|---|
Kubernetes 1.14+ |
Quickstart
Hazelcast Platform Enterprise requires a license key. If you don’t have a license key, you can request one at the Hazelcast website.
helm repo add hazelcast https://hazelcast-charts.s3.amazonaws.com/
helm repo update
helm install my-release hazelcast/hazelcast-enterprise --set hazelcast.licenseKey=<license_key>
For users who already added hazelcast
repo to their local helm client before; you need to run helm repo add
command again to use latest charts at the new chart repo.
helm repo list
NAME URL
hazelcast https://hazelcast.github.io/charts/
...
helm repo add hazelcast https://hazelcast-charts.s3.amazonaws.com/
NAME URL
hazelcast https://hazelcast-charts.s3.amazonaws.com/
...
Installing the Chart
To install the chart with the release name my-release
:
helm install my-release hazelcast/hazelcast-enterprise --set hazelcast.licenseKey=<license_key>
The command deploys Hazelcast on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
List all releases using helm list command.
|
Uninstalling the Chart
To uninstall/delete the my-release
deployment:
helm uninstall my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
For available configuration properties see enterprise values file.
Specify each parameter using the --set key=value,key=value
argument to helm install
. For example,
helm install my-release hazelcast/hazelcast \
--set hazelcast.licenseKey=<license_key>,cluster.memberCount=3
The above command sets number of Hazelcast 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 hazelcast/hazelcast -f values.yaml
You can use the default values.yaml with the hazelcast.license filled in.
|
Some of the Hazelcast Enterprise features requires setting securityContext.readOnlyRootFilesystem parameter to false . This is the case for the Hot Restart feature or enabling security with OpenSSL. In such cases where readOnlyRootFilesystem needs to be set to true (i.e. a Pod Security Policy requirement), for Hot Restart to work the JVM parameter -Djava.io.tmpdir should be set to a writable location (for example a custom volume).
|
Notable changes
2.8.0
Hazelcast REST Endpoints are no longer enabled by default and the parameter hazelcast.rest
is no longer available. If you want to enable REST, please add the related endpoint-groups
to the Hazelcast Configuration. For example:
rest-api:
enabled: true
endpoint-groups:
HEALTH_CHECK:
enabled: true
CLUSTER_READ:
enabled: true
CLUSTER_WRITE:
enabled: true
5.8.0
The parameter hotRestart
has been renamed to persistence
. To use the persistence feature make sure that your values.yaml
is updated. For example:
persistence:
enabled: true
base-dir: /data/persistence
validation-timeout-seconds: 1200
data-load-timeout-seconds: 900
auto-remove-stale-data: true
5.9.0
The section mcm
are no longer available so the chart will not create required resources to list Hazelcast Platform {enterprise-product-name} at IBM CP4MCM(Cloud Pak for Multicloud Management).
5.10.x
Due to a bug in the Helm Project, the helm upgrade
command does not allow modifications to the spec.volumeClaimTemplates
property in stateful sets. This means that upgrades cannot be completed. This issue affect versions between 5.10.7 and 5.10.12.
To avoid this issue, Hazelcast recommends that you upgrade to version 5.10.13 if you are upgrading from a version before 5.10.7.
To upgrade, complete the following steps:
-
Export your existing values:
helm get values <release-name> -o yaml > values.yaml
-
Enter the upgrade command with the exported values as follows:
helm upgrade <release-name> hazelcast/hazelcast-enterprise --version=5.10.13 -f values.yaml