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