Deploying GigaSpaces Platforms on Amazon EKS

This topic explains how to deploy KubeGrid using the Amazon Elastic Container Service for Kubernetes (Amazon EKS).

Deploying InsightEdge involves the same tasks as deploying the GigaSpaces data grid. The deployment tasks described below use insightedge Helm charts. However, you can also perform these tasks using the xap Helm charts (except for Apache Zeppelin, which is part of the InsightEdge deployment).

Deploying an Amazon EKS Cluster

To deploy an Amazon EKS cluster, follow the instructions in the Getting Started with Amazon EKS section of the AWS user guide. The deployment process requires that you do the following:

  1. Create an AWS account.

  2. Create a KubeGrid (for example, InsightEdge) Amazon EKS Service role. This user role will need sufficient security policies to administer the Amazon EKS cluster.

  3. Create the Amazon EKS Cluster VPC for KubeGrid. Note that you will have to create both a cluster stack and a worker node stack in AWS CloudFormation.

  4. Install and configure kubectl for Amazon EKS. This is the tool you will use to perform administration tasks on your Kubernetes cluster.

  5. Download and install the latest AWS CL. (This is an optional step but strongly recommended.)

Deploying KubeGrid in Amazon EKS

This page provides general information on how to deploy KubeGrid in a Kubernetes cluster. For detailed installation and configuration instructions, see Getting Started with GigaSpaces in Kubernetes.

Prerequisites

Before deploying KubeGrid, ensure that you have the following installed:

  • kubectl

  • Helm

    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.

Use the following command to fetch the GigaSpaces Helm charts and unpack them locally:

helm fetch gigaspaces/insightedge --version=15.0 --untar

You should also verify that your KubeGrid EKS cluster is active using the Amazon EKS console, and that the KubeGrid and worker nodes were created using the CloudFormation console.

Installing KubeGrid

Installing KubeGrid is a simple one-step procedure.

To install InsightEdge in KubeGrid:

  1. Type the following command to deploy InsightEdge in Amazon EKS:

    helm install insightedge --name demo --set pu.partitions=2,pu.ha=true

Verifying the KubeGrid Installation

After installing InsightEdge, best practice is to check that the Kubernetes services have external IP addresses, verify that InsightEdge is up and running, and that you can open the Apache Zeppelin web notebook.

To verify the InsightEdge installation:

  1. Check that the Kubernetes services have external IP addresses so the pods can communicate. Type the following command:

    kubectl get svc

    You should see output that looks similar to this:

  2. Copy the InsightEdge Manager IP address to a browser window and add the port number (8090). The Ops Manager should load.

  3. Copy the InsightEdge Zeppelin IP address into the browser window and add the port (9090). The InsightEdge Apache Zeppelin web notebook should load.

Deploying the Kubernetes Dashboard

The last step is deploying the Kubernetes dashboard in Amazon EKS, so you can properly administer your Kubernetes-based GigaSpaces application. See the Amazon dashboard tutorial page for instructions.