Arvados on Minikube

This page documents setting up and running the Arvados on Kubernetes Helm chart on Minikube.

Note:

This Helm chart does not retain any state after it is deleted. An Arvados cluster created with this Helm chart is entirely ephemeral, and all data stored on the cluster will be deleted when it is shut down. This will be fixed in a future version.

Prerequisites

Install tooling

Install kubectl:

Install helm:

Install Minikube

Follow the instructions at https://kubernetes.io/docs/setup/minikube/

Test the connection:

$ kubectl get nodes

Test helm by running

$ helm ls

There should be no errors. The command will return nothing.

Clone the repository

Clone the repository and nagivate to the arvados-kubernetes/charts/arvados directory:

$ git clone https://github.com/arvados/arvados-kubernetes.git
$ cd arvados-kubernetes/charts/arvados

Start the Arvados cluster

All Arvados services will be accessible on Minikube’s IP address. This will be a local IP address, you can see what it is by running

$ minikube ip
192.168.39.15

Generate self-signed SSL certificates for the Arvados services:

$ ./cert-gen.sh `minikube ip`

The values.yaml file contains a number of variables that can be modified. At a minimum, review and/or modify the values for

  adminUserEmail
  adminUserPassword
  superUserSecret
  anonymousUserSecret

Now start the Arvados cluster:

$ helm install arvados . --set externalIP=`minikube ip`

And update the Kubernetes services to have the Minikube IP as their ‘external’ IP:

$ ./minikube-external-ip.sh

At this point, you can use kubectl to see the Arvados cluster boot:

$ kubectl get pods
$ kubectl get svc

After a few minutes, you can access Arvados Workbench at the Minikube IP address:

  • https://<MINIKUBE IP>

with the username and password specified in the values.yaml file.

Alternatively, use the Arvados cli tools or SDKs. First set the environment variables:

$ export ARVADOS_API_TOKEN=<superUserSecret from values.yaml>
$ export ARVADOS_API_HOST=<MINIKUBE IP>:444
$ export ARVADOS_API_HOST_INSECURE=true

Test access with:

$ arv user current

Reload

If you make changes to the Helm chart (e.g. to values.yaml), you can reload Arvados with

$ helm upgrade arvados .

Shut down

Note:

This Helm chart does not retain any state after it is deleted. An Arvados cluster created with this Helm chart is entirely ephemeral, and all data stored on the Arvados cluster will be deleted when it is shut down. This will be fixed in a future version.

$ helm del arvados

Previous: Arvados on Kubernetes Next: Arvados on GKE

The content of this documentation is licensed under the Creative Commons Attribution-Share Alike 3.0 United States licence.
Code samples in this documentation are licensed under the Apache License, Version 2.0.