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.
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 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 (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.
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 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:
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 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:
mkdir minikf
cd minikf
vagrant init arrikto/minikf
vagrant up
When you are done, you can exit Kubeflow and stop MiniKF:
Ctrl-C
to 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:
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