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 XAP 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:
Create an AWS account.
Create an KubeGrid (for example, InsightEdge) Amazon EKS Service role. This user role will need sufficient security policies to administer the Amazon EKS cluster.
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.
Install and configure kubectl for Amazon EKS. This is the tool you will use to perform administration tasks on your Kubernetes cluster.
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.
Before deploying KubeGrid, ensure that you have the following installed:
Use the following command to fetch the GigaSpaces Helm charts and unpack them locally:
helm fetch gigaspaces/insightedge --version=14.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.
In order to ensure that InsightEdge will work properly in the Amazon EKS environment, the default service type (
NodePort) in the manager and zeppelin Helm charts must be changed to
LoadBalancer before applying the Helm install command.
To install InsightEdge:
- Modify the Helm charts:
insightedge-managervalues.yaml file, and change the service type from NodePort to LoadBalancer. The chart should look like this:
# service: Platform Manager service configuration. service: # type: Service type. type: LoadBalancer
- Make this same change in the
- Save both files.
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:
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:
Copy the InsightEdge Manager IP address to a browser window and add the port number (8090). The Rest Manager API screen should load.
- Perform a simple test by using one of the REST APIs, for example
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.