Deploy Kubeflow on Ubuntu!

Created September 16, 2021

What is Kubeflow?

The Kubeflow project is dedicated to making deployments of machine learning (ML) workflows on Kubernetes simple, portable and scalable. Our goal is not to recreate other services, but to provide a straightforward way to deploy best-of-breed open-source systems for ML to diverse infrastructures. Anywhere you are running Kubernetes, you should be able to run Kubeflow.


Installation

Step 1. Install MicroK8s

In this step you will install MicroK8s, a minimal, lightweight Kubernetes you can run and use on practically any machine. It can be installed with the following command:

sudo snap install microk8s --classic

Then, verify the success of the installation:

sudo microk8s status --wait-ready

Join the “microk8s” group

MicroK8s creates a group to enable seamless usage of commands which require admin privilege.

To add your current user to the group and gain access to the .kube caching directory, run the following two commands:

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

Exit and re-enter the Ubuntu session for permissions to take effect.

Step 2. Deploy Kubeflow

Finally we are able to deploy all the Kubernetes services behind Kubeflow.

Let’s start by enabling the dns, dashboard and storage services:

microk8s.enable dns dashboard storage

Then, to start Kubeflow:

microk8s.enable kubeflow

Starting these services can take several minutes. You can keep track of the status of this process with the following command:

microk8s.kubectl get all --all-namespaces

That’s it, you have successfully installed Kubeflow on your Ubuntu Server and you can start using it!

If you found this usful then please comment and follow me! Also check out my website where I also post everything from here