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.

Prerequisites

Before beginning to work with the data grid and InsightEdge, ensure that you have the following installed on your local machine or a VM:

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.

Deploying and Managing a Data Grid

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

Accessing the GigaSpaces Helm Charts

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 xap and insightedge Helm charts are published in the GigaSpaces Helm charts repository at https://resources.gigaspaces.com/helm-charts.

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

Adding a Helm Repo to the Repo List

You can point to the GigaSpaces Helm repo, so that Helm can locate the xap and 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=14.0.1 --name demo

Fetching the GigaSpaces Helm Charts from the GigaSpaces Repository

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=14.0.1 --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.).

Starting a Data Grid in Kubernetes

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.

Monitoring the Data Grid in Kubernetes

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:
minikube dashboard
  • 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

Deleting a Data Grid from the Kubernetes Environment

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 --purge option.

helm del --purge hello

Applying a Product License

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 insightedge-pu chart or xap-pu chart, use the syntax --set license="<your license key>".