Skip to main content
Version: 2.4.7

Install Resoto with Kubernetes

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.

Prerequisites

  • Helm (version 3 or above)
  • Kubernetes cluster (kind or minikube should work as well)
  • At least 2 CPU cores and 8 GB of RAM
note

Resoto performs CPU-intensive graph operations. In a production setup, we recommend at least four cores and 16 gigabytes of RAM. See Configuring Resoto Worker for more information.

Installing Resoto

Prepare ArangoDB operator

If you don't have ArangoDB, you can use the operator to install it. See more info here.

You can use the following commands to install the operator:

$ helm repo add arangodb https://arangodb.github.io/kube-arangodb
$ helm repo update
$ helm install kube-arangodb-crd arangodb/kube-arangodb-crd
note

These instructions were tested with version 1.2.15 of the operator.

Install Helm Chart

Add the Resoto Helm chart repository and install the chart.

$ helm repo add someengineering https://helm.some.engineering
$ helm repo update
$ helm install resoto someengineering/resoto --set image.tag=2.4.7

And just like that, you have Resoto running in a Kubernetes cluster! A collect run will begin automatically. This first collect usually takes less than 3 minutes.

Launching the Resoto Command-Line Interface

The resh command is used to interact with resotocore.

We need to first make sure that the deployment is available:

$ kubectl wait --for=condition=available deployment/resoto-resotocore

Then, simply execute the following to access the Resoto Shell interface:

$ kubectl exec -it service/resoto-resotocore -- resh

Resoto Shell

Accessing Credentials

The Helm chart stack generates credentials that are used by Resoto's components.

These credentials are stored in Kubernetes Secrets as Base64-encoded strings:

SecretDescriptionOutput Command
arango-userThe ArangoDB user and passwordkubectl get secret arango-user -o jsonpath="{.data.password}" \| base64 --decode
resoto-pskThe pre-shared key used for communication between componentskubectl get secret resoto-psk -o jsonpath="{.data.psk}" \| base64 --decode