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
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
These instructions were tested with version 1.2.15 of the operator.
Install Helm Chart​
- Default Installation
- Customized Installation
Add the Some Engineering Helm chart repository:
$ helm repo add someengineering https://helm.some.engineering
Update cached chart information:
$ helm repo update
And install the
resoto
chart:$ helm install resoto someengineering/resoto --set image.tag=3.1.0
It is possible to customize your Resoto installation using a Helm values file.
Create a file
resoto-values.yaml
with the desired configuration:resoto-values.yamlresotoworker:
volumeMounts:
- mountPath: /home/resoto/.aws
name: aws-credentials
volumes:
- name: aws-credentials
secret:
secretName: resoto-homeAdd the Some Engineering Helm chart repository:
$ helm repo add someengineering https://helm.some.engineering
Update cached chart information:
$ helm repo update
Install the
resoto
chart with theresoto-values.yaml
file:$ helm install resoto someengineering/resoto --set image.tag=3.1.0 -f resoto-values.yaml
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 Web UI​
Resoto Core provides a service that exposes Resoto UI on port
8900
. We recommend configuring an Ingress with a valid certificate for UI access, but you can port-forward the service as a temporary solution:$ kubectl port-forward services/resoto-resotocore 8900
Open https://localhost:8900 in your browser to access Resoto UI.
noteThe SSL certificate is self-signed, but you can safely ignore any browser warnings.
If it is your first time starting Resoto UI, the setup wizard will appear and help you configure Resoto:
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
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:
Secret | Description | Output Command |
---|---|---|
arango-user | The ArangoDB user and password | kubectl get secret arango-user -o jsonpath="{.data.password}" \| base64 --decode |
resoto-psk | The pre-shared key used for communication between components | kubectl get secret resoto-psk -o jsonpath="{.data.psk}" \| base64 --decode |