# Deploy Lightweight cnvrg CORE using Helm

You can deploy a lightweight version of cnvrg CORE with lowered resource requirements. Thus guide will explain how to deploy this lightweight version on a Minikube cluster.

In this guide, you will learn how to:

  • Use Microk8s to create a Kubernetes cluster
  • Use Helm to deploy the lightweight version of cnvrg CORE

# Requirements

Before you can complete the installation you must install and prepare the following dependencies on your local machine:

  • Ubuntu 18.04 LTS
  • 2 CPU, 4GB Memory

# Setup microk8s

In this tutorial we will be using microk8s, a lightweight distribution of Kubernetes

sudo snap install microk8s --classic

# Join the group

Add your current user to the microk8s group so you can run microk8s seamlessly without requiring sudo

sudo usermod -a -G microk8s $USER
sudo chown -f -R $USER ~/.kube

You will also need to re-enter the session for the group update to take place:

su - $USER

# Enable additional microk8s settings

Before deploying cnvrg we will apply additional configurations to the new Kubernetes cluster. This includes GPU, DNS and storage support

microk8s enable dns storage helm3 gpu

# Deploy cnvrg.io

Run the following command to download the most updated cnvrg helm charts:

microk8s helm3 repo add cnvrg http://helm.cnvrg.io:1910/
microk8s helm3 repo update

Now all you need to do is run the helm3 install command and all of the services and systems will be automatically installed on your cluster. The process can take up to 15 minutes.

Run the following command with the values as per your setup:

bash <(curl -s https://micro-k8s.s3-us-west-2.amazonaws.com/deploy_cnvrg.sh) install

TIP

You can check the node name using the command microk8s kubectl get nodes.

# Completing the Setup

The helm install command can take up to 10 minutes. When the deployment completes, you can go to the url of your newly deployed cnvrg or add the new cluster as a resource inside your organization. The helm command will inform you of the correct url:

🚀 Thank you for installing cnvrg.io!

Your installation of cnvrg.io is now available, and can be reached via:
http://127.0.0.1:30080

Talk to our team via email at hi@cnvrg.io

# Monitoring the deployment

You can monitor and validate the deployment process by running the following command:

microk8s kubectl -n cnvrg get pods

When the status of all the containers is running or completed, cnvrg will have been successfully deployed. It should look similar to the below output example:

NAME                                   READY   STATUS     RESTARTS   AGE
cnvrg-app-7dd6d8fc44-v2qvf             1/1     Running    0          7m1s
cnvrg-sidekiq-677bcb58d-2x5k4          1/1     Running    0          7m1s
fluentd-l4k7h                          1/1     Running    0          7m1s
minio-0                                1/1     Running    0          7m
nvidia-device-plugin-daemonset-f2sm9   1/1     Running    0          7m1s
postgres-0                             1/1     Running    0          7m
redis-7b8c77b8db-4qw45                 1/1     Running    0          7m1s
seeder-thxhp                           1/1     Completed  0          7m

NOTE

The exact list of pods may be different, as it depends on the flags that you used with the helm install command. As long as the statuses are running or completed, the deployment will have been successful.

# Delete cnvrg CORE

If you would like to delete the cnvrg deployment using Helm, run the following command:

bash <(curl -s https://micro-k8s.s3-us-west-2.amazonaws.com/deploy_cnvrg.sh) remove

# Replace a cnvrg Installation

If you would like to replace an existing Helm installation, run the following command with the other settings as required for your install:

microk8s helm3 upgrade cnvrg cnvrg/cnvrg

This is useful for replacing a partial or faulty installation.