In this tutorial you learn how to install Kubeflow on your local machine. In particular, we use Mini Kubeflow(MiniKF) which is based on the local Kubernetes distribution minikube.

Kubeflow

Kubeflow

The Kubeflow project is dedicated to making deployments of machine learning (ML) workflows on Kubernetes simple, portable and scalable. It's 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.

To learn more:

MiniKF

MiniKF is the easiest way to get started with Kubeflow and comes bundled with Kale for automating MLOps workflow and Rok for ML data management.

With MiniKF, you can start building models in your Jupyter notebook and run them easily in Kubeflow Pipelines. When you're ready to go into production, you can move to a multi-node Kubeflow cloud deployment on GCP, AWS, or Azure with one click. No extra coding or knowledge of containers needed (see Kubernetes).

A MiniKF (Mini Kubeflow) VM on GCP that automatically installs:

To learn more:

Kubernetes

Kubernetes

Kubernetes (also known as K8s or "kube") is an open-source system for automating deployment, scaling, and management of containerized applications. A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.

Docker container

For example, Docker can be used as a container runtime that Kubernetes orchestrates. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings. Kubernetes groups containers that make up an application into logical units for easy management and discovery. In other words, you can cluster together groups of hosts running containers, and Kubernetes helps you easily and efficiently manage those clusters.

Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community. It has become the standard orchestration platform for containers. All the major cloud providers support it, making it the logical choice for organizations looking to move more applications to the cloud.

To learn more:

minikube

Minikube

minikube is local Kubernetes (on macOS, Linux, and Windows), focusing on making it easy to learn and develop for Kubernetes. You just need a container or virtual machine manager, such as: Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMWare. In our tutorial, we will use Oracle's VirtualBox.

To learn more:

VirtualBox

Oracle VM VirtualBox is a cross-platform virtualization application. It extends the capabilities of your existing computer so that it can run multiple OSes, inside multiple virtual machines, at the same time. As an example, you can run Windows and Linux on your Mac, run Windows Server on your Linux server, run Linux on your Windows PC, and so on, all alongside your existing applications. You can install and run as many virtual machines as you like.

To learn more:

Vagrant

Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time and increases production parity.

To learn more:

Ideally, your system should meet the following requirements:

MiniKF runs on:

Before installing MiniKF, you need to have Vagrant and VirtualBox installed on your laptop:

If you have macOS:

  1. Open a terminal on your laptop and create a new directory:
mkdir minikf
  1. Switch into it:
cd minikf
  1. Run the following command to install MiniKF:
vagrant init arrikto/minikf
  1. This command creates and configures your virtual machine:
vagrant up
  1. When this is done, open a browser and navigate to http://10.10.10.10.
  2. Follow the on-screen instructions (press Enter on your keyboard to start the installation)
  3. When installation is done, copy the provided username and password

Minikube credentials

  1. Click on "Connect to MiniKF" and enter the username and password

Dashboard

When you are done, you can exit Kubeflow and stop MiniKF:

  1. Log out from Kubeflow (click the ⍈ symbol at the top right of the Kubeflow UI)
  2. Navigate to your MiniKF browser window http://10.10.10.10.
  3. Click on the terminal (in the middle of the screen).
  4. Use Ctrl-Cto exit.

You can start MiniKf as follows:

cd minikf
vagrant up

Congratulations! You have completed the tutorial and learned how to:

✅ Install MiniKF on your computer. ✅ You are now ready to use Kubeflow on your local machine.

Next, you may want to run a pipeline in Kubeflow. See this tutorial to implement your first pipelines:

Jan Kirenz

Thank you for participating in this tutorial. If you found any issues along the way I'd appreciate it if you'd raise them by clicking the "Report a mistake" button at the bottom left of this site.

Copyright: Jan Kirenz (2021) | kirenz.com | CC BY-NC 2.0 License