Getting Started with GigaSpaces in Kubernetes
The topics in this section assume basic knowledge of InsightEdge and the data grid. If you aren't familiar with the data grid (at minimum), review the contents of the general Getting Started section before performing the tasks described here.
This topic describes how to deploy GigaSpaces products in a Kubernetes environment. The integration is packaged as a Helm chart. You can deploy the full InsightEdge Platform, which includes the data grid, using the Helm chart available in the GigaSpaces Helm repository.
Before beginning to work with the data grid and InsightEdge, ensure that you have the following installed on your local machine or a VM:
You must use Helm 2 with KubeGrid. Helm 3 contains a new chart version, which is a breaking change and is not currently supported by KubeGrid.
Kubernetes cluster (cloud, on-premise, or local via minikube)
InsightEdge supports all recent Kubernetes versions, including the latest. Customers should be advised that a known issue in Spark (SPARK-28921) affects Kubernetes support in some versions. In order to avoid this known issue you should use a Kubernetes version that is supported by Spark, such as release 1.15.2, 1.14.5, 1.13.9, or lower minor version.
This topic describes how to do basic and intermediate-level deployment tasks for the data grid and InsightEdge using simple Helm commands. You can perform these tasks using a Kubernetes minikube, because you only need a single node.
Configuring the data grid for InsightEdge involves the same tasks as configuring the data grid alone. The deployment and maintenance tasks described below use
InsightEdge Helm charts commands. However, you can also perform these tasks using the xap Helm charts commands.
In this topic, you will learn how to do the following:
- Get the required GigaSpaces Helm charts
- Start a data grid in Kubernetes
- Monitor your data grid using Kubernetes tools
- Delete your data grid
The Helm package manager is used for installing InsightEdge and GigaSpaces in the Kubernetes environment. Helm makes deploying complex applications more portable, supports automatic rollbacks, and is a familiar pattern for developers that is easy to understand. Moreover, since Helm is open source, there are many community charts available with standard configurations for common application services.
Helm supports installing charts in a number of ways. A Helm chart can be used in a variety of formats and locations; packaged, unpackaged, accessed via a remote URL or even in a chart repository. The
insightedge Helm charts are published in the GigaSpaces Helm charts repository at
There are multiple ways to access these charts in order to install a GigaSpaces product in Kubernetes:
- Install a chart directly from the repo
- Add the GigaSpaces Helm chart repo to the Helm repo list
- Unpack the required Helm chart(s) in a local folder
You can point to the GigaSpaces Helm repo, so that Helm can locate the
insightedge charts for installation:
helm repo add gigaspaces https://resources.gigaspaces.com/helm-charts
After adding the GigaSpaces Helm repo, you can install the required chart(s) by referencing the chart name and product package version. For example, to install InsightEdge, use the following command:
helm install gigaspaces/insightedge --version=15.0.0 --name demo
Another option is to fetch the GigaSpaces Helm charts that you need and unpack them locally, so you don’t have to repeat the repo name and package version in each command (which has the added benefit of making the commands shorter). For example, if you fetch and unpack the Helm chart using the following command:
helm fetch gigaspaces/insightedge --version=15.0 --untar
You must fetch every chart that you will be using (for example xap, xap-pu and xap-manager) in your GigaSpaces application environment.
The chart is unpacked in a local folder called insightedge, and then you can install the demo by typing:
helm install insightedge --name demo
All of the commands in the examples below assume that the Helm chart was fetched and stored in a local folder, but you can modify the commands to accomodate the other Helm install options (remote location, repo reference, etc.).
In the directory where you unpacked the Helm chart(s), run the following Helm command in the command window to start a data grid in Kubernetes. This deploys a Kubernetes cluster called
hello, which contains a data grid comprised of one Space in a Data Pod, and one Platform Manager called
hello-xap-manager in a Management Pod. The Platform Manager manages the Space, the Manager service, and the headless service. There are no backup instances specified.
To start a data grid:
helm install xap --name hello
To start an InsightEdge data grid:
helm install insightedge --name hello
The rest of the data grid tasks described below use command examples from the
insightedge Helm chart. However, you can also perform these tasks using the
xap Helm chart.
You can monitor the
hello cluster you deployed using any of the following administration tools.
- Helm: Run the following command to print the status of the "hello' release in the command window.
helm status hello
- Kubernetes dashboard: run the following command to open a dashboard in your browser, where you can see all the Pods and services by clicking the various tabs. For example, if you're using minikube:
- Kubectl: run the following command to print the name, description, and status of the Pods in the command window. A list of events is also printed, which can be used for troubleshooting purposes. For example, if you detected a problem in one of the Pods, you can see the Pod termination reason and exit code.
kubectl describe pod
To delete the
hello Space cluster, use the following Helm command. It removes the release, but leaves the logs and data so you can inspect them at a future time. This command will remove both the Platform Manager and the Space.
helm del hello
If you want to remove the release and delete all the
hello release data from the server, add the
helm del --purge hello
The Kubernetes installation comes with a 24-hour trial
tryme license, to enable users to perform one-click installation and explore the InsightEdge Platform and GigaSpaces functionality. However, if you want a longer trial license, you can apply the evaluation license key that you received in the email that was sent to you after you downloaded your InsightEdge or GigaSpaces commercial edition from the Download Center. These instructions are also applicable for applying a your official product license after you purchase a GigaSpaces product.
When the data grid starts, it checks for a valid license. You can apply the license by setting the
pu.license property. For example, to apply the license for InsightEdge, use the following Helm command:
helm install insightedge --name hello --set pu.license="<your license key>"
- You must enclose the license key in quotation marks ("...").
- If you install a Processing Unit using the
xap-puchart, use the syntax
--set license="<your license key>".