5.3. Deployment of Presto on Kubernetes#

Starburst Enterprise Presto on Kubernetes can be deployed using online resources on DockerHub and Starburst storage systems. Ensure your k8s cluster is up and running, and you are connected to it with kubectl before you proceed.

Alternatively to using the following commands directly, you can download the YAML files individually and then use them from local copies, or even transfer them to another server before proceeding.

If you need to operate completely without access to the internet for the deployment, you can use an offline installation package available from Starburst. The package contains the Kubernetes resource YAML files, the needed Docker images and installation instructions.

offline-installer.332-e.9-k8s-0.51.tar.gz (file > 2.5GB)

All installation methods then follow the same steps, and can either use the online files with a URL or local files.

Create a service account for the Presto K8s operator:

kubectl apply -f https://starburstdata.s3.us-east-2.amazonaws.com/k8s/332-e.9-k8s-0.51/service_account.yaml

Using a local file the command looks like this:

kubectl apply -f service_account.yaml

Create a role and role binding for the Presto K8s operator:

kubectl apply -f https://starburstdata.s3.us-east-2.amazonaws.com/k8s/332-e.9-k8s-0.51/role.yaml
kubectl apply -f https://starburstdata.s3.us-east-2.amazonaws.com/k8s/332-e.9-k8s-0.51/role_binding.yaml

Create a Presto K8s custom resource definition:

kubectl apply -f https://starburstdata.s3.us-east-2.amazonaws.com/k8s/332-e.9-k8s-0.51/presto_v1_crd.yaml

Start the Presto K8s operator:

kubectl apply -f https://starburstdata.s3.us-east-2.amazonaws.com/k8s/332-e.9-k8s-0.51/operator.yaml

Starting Presto by creating a K8s Presto resource:

kubectl apply -f https://starburstdata.s3.us-east-2.amazonaws.com/k8s/332-e.9-k8s-0.51/example_presto_v1_cr.yaml