Try Starburst Enterprise with Kubernetes #

Kubernetes is the preferred platform for Starburst Enterprise platform (SEP) deployments. You can manage the deployment directly with the available Helm charts or through your preferred cloud provider’s marketplace. The following platforms are supported:

  • Amazon Elastic Kubernetes Service (EKS)
  • Google Kubernetes Engine (GKE)
  • Microsoft Azure Kubernetes Service (AKS)
  • Red Hat OpenShift 4.x or higher

You can use a K8s deployment as a proof-of-concept (PoC) and scale it up easily to a fully-fledged deployment of SEP in your organization.

This page assumes you have the following:

  • Familiarity with Kubernetes.
  • kubectl is installed and running.
  • You can create and administer a Kubernetes cluster.
  • You have access to our Helm chart repository and Docker registry, provided by Starburst Support.

Your SEP cluster must be located in a namespace dedicated to it and it alone. Our K8s overview discusses SEP cluster design, and our K8s requirements covers minimum production cluster specs and versions for tools that you need.

Starburst Helm charts #

The following Helm charts are available as part of the SEP K8s offering:

Prepare for deployment #

A proof of concept for SEP can have as few as two nodes, one each for the coordinator and a worker, in a dedicated namespace.

Set up registry access #

Once you have the SEP Helm chart, create the registry-access.yaml file to override the default, empty values as described in our reference documentation. You use this one file for all Starburst Helm charts.

Prepare cluster and resource configurations #

Now it’s time to create your correctly-sized Kubernetes cluster, and ensure that your Helm/kubectl configuration points at the correct cluster using kubectl cluster-info.

With that done, create a minimal YAML configuration file with the memory and CPU resource configurations for coordinator: and worker: that reflect your cluster’s available resources. We suggest a name such as sep-PoC-setup.yaml.

Deploy SEP #

Run the helm command to install the default chart, as well as any override YAML files using the --values argument, as in the following example:

$ helm upgrade my-sep-poc-cluster starburstdata/starburst-enterprise \
    --install \
    --version 360.2.0 \
    --values ./registry-access.yaml \
    --values ./sep-PoC-setup.yaml

We strongly suggest using the helm upgrade rather than helm install. It ignores any unchanged configuration files and only applies those with changes.

Verify #

To verify that your SEP cluster is operating, first determine the IP address or the DNS hostname of the coordinator by running the kubectl get pods command. Next, use the IP address or hostname to verify the coordinator is running by using the Web UI as described in Verify the server. You can use the same information to connect with the CLI or the JDBC driver.

Configure your cluster #

For a proof-of-concept, we suggest that you start with small, focused changes that configure one concept, such as networking, security, or data sources.

Depending on your organization’s security requirements and the location of your SEP cluster relative to your data sources, you may find that you need to configure internal communication and networking before you can configure a data source.

Once you have verified that your cluster has access to your data sources, it’s time to configure the data catalogs that describe your data sources.

Restart to deploy configuration changes #

Run the helm upgrade command to apply any changes, adding any new YAML files, for instance, in the following example, an sep-catalogs.yaml file has been added:

$ helm upgrade my-sep-poc-cluster starburstdata/starburst-enterprise \
    --install \
    --version 360.2.0 \
    --values ./registry-access.yaml \
    --values ./sep-PoC-setup.yaml \
    --values ./sep-catalogs.yaml

Next steps #

As you build out your PoC and beyond, our reference documentation has an extensive SEP configuration section, along with examples. You may also wish to set up these optional items: