Configuring the Data Grid Using the Helm Chart

Default Helm Chart

The InsightEdge Helm chart has a list of supported values that can be configured. To view this list, use the following Helm command:

helm inspect insightedge

The values.yaml file is printed in the command window, and each configurable value has a short explanation above it. The indentation in this printout indicates a use of a ".' (dot) in the value name. For example, the high availability property for the Platform Manager is listed as follows in the file:

manager:
ha: false

The value you will set will look like this in the command window: manager.ha=true

Customizing a Helm Chart

You can create additional values.yaml files with customized values.

The following Helm command shows how a custom YAML file can be used to override the values in the original GigaSpaces Helm chart:

helm install insightedge -f customValues.yaml --name hello

Kubernetes Services in KubeGrid

Kubernetes uses services to externalize functionality in clusters to the "outside world". Kubernetes services define a logical set of Pods that support the services themselves, and a policy by which to access them. This policy is defined using the service type. GigaSpaces uses the following service types in deployment:

  • LoadBalancer - External load balancer that is dedicated to a specific service, and functions as a gateway to the pods that support the service.

  • NodePort - Provides access to the service directly via the node on which the supporting pods are deployed.

How Are Kubernetes Services Deployed in KubeGrid?

The GigaSpaces Helm chart can be modified to suit the needs of your organization and system environment, specifically the manager and pu (service) sections. The manager section is relevant for all GigaSpaces deployments in Kubernetes, while the pu section only needs attention if you require Space-based remoting.

The GigaSpaces manager and pu services are configured as follows:

  • The default service type is loadBalancer.
  • The NodePort field is empty by default, meaning that for each process (api, lrmi, and lus), Kubernetes assigns a random value to the node port in the range of 30000-32767.

You can set the NodePort value manually if necessary.

To view the full service configuration, including ports, run the following command:

kubectl describe svc <service name> 

It is strongly recommended to leave the default port values. For more information about service types and when it may be advisable to modify the values, see Space-Based Remoting in Kubernetes.