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​
- 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=edge
It is possible to customize your Resoto installation using a Helm values file.
Create a file
resoto-values.yaml
with the desired configuration:Example configuration that mounts AWS credentials from a Kubernetes Secretresotoworker:
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=edge -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.
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 |