Learning path: Get started with Kubeflow in IBM Cloud Private-CE and Minikube

Level Topic Type
200 Kubeflow in IBM Cloud Private-CE Tutorial
201 Kubeflow in Minikube Tutorial
300 Set up the development environment Tutorial
301 Train and serve a machine learning model using Kubeflow in Minikube Tutorial
400 Leverage Kubeflow for enterprise data in Db2 Tutorial
401 Train and serve a machine learning model using Kubeflow in IBM Cloud Private-CE Tutorial

Introduction

Kubeflow is the machine learning toolkit for Kubernetes. It is dedicated to making deployments of machine learning workflows on Kubernetes simple, portable, and scalable. Started as a Google internal project to run TensorFlow jobs on Kubernetes, it is now an open source project with contributors all over the world. It is a cloud-native project that can be deployed in different cloud platform providers. You can also install Kubeflow on your local machine or on-premises.

The following figure is a simplified cloud architecture with Kubeflow. There are Docker containers running in a cloud environment. Docker containers provide a lightweight virtual machine that makes it ideal for software packaging and delivery. Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubeflow uses the strength of Kubernetes to make scaling machine learning models and deploying the models to production as simple as possible.

Simplified cloud architecture

Major components of Kubeflow are:

  • Kubeflow pipeline: Building and deploying machine learning workflows based on Docker containers
  • Jupyter Notebooks: Building machine learning model prototypes and sharing with others
  • Fairing: Building, training, and deploying machine learning training jobs in a hybrid cloud environment (locally or in the cloud)
  • Hyperparameter tuning: Integrating with Katib to tune machine learning models
  • Model training: Providing multiple training options that include PyTorch, Chainer, and TensorFlow
  • Model serving: Providing multiple serving options that include PyTorch and TensorFlow Serving with Istio

Objectives

Upon completion of this learning path, you are able to:

  • Install Kubeflow in IBM Cloud Private-CE and Minikube
  • Set up a development environment
  • Compile and test a Kubeflow pipeline application
  • Test a Kubeflow pipeline application using Kubeflow dashboard
  • Create, start, and drop a Db2 for z/OS REST service using Kubeflow

You can start with Kubeflow in IBM Cloud Private-CE or in Minikube. To get started, click on a card below, or see the previous table for a complete list of topics covered.

Kubeflow in IBM Cloud Private-CE


Learn about:

  • Installing and configuring IBM Cloud Private-CE
  • Launching Kubernetes Dashboard
  • Preparing for Kubeflow installation
  • Installing Kubeflow on IBM Cloud Private-CE
  • Launching Kubeflow Dashboard

Kubeflow in Minikube


Learn about:

  • Installing Docker Community Edition, kubectl, and Minikube
  • Starting Kubernetes dashboard
  • Installing Kubeflow
  • Starting Kubeflow Dashboard

Set up the development environment


Learn about:

  • Setting up a Kubeflow development for compilation
  • Test a Kubeflow Pipeline application using Kubeflow Dashboard

Train and serve a machine learning model using Kubeflow in Minikube


Learn about:

  • Installing a Jupyter Notebook server
  • Preparing an environment to run a ML on-prem notebook
  • Downloading and launching a Jupyter Notebook
  • Executing the notebook to train and serve a model base on the MNIST database

Leverage Kubeflow for enterprise data in Db2


Learn about:

  • Compiling a Kubeflow Pipeline application that launches containers to create, invoke, and drop a database REST service
  • Uploading the compiled pipeline to Kubeflow Dashboard
  • Running the compiled pipeline in Kubeflow Dashboard

Train and serve a machine learning model using Kubeflow in IBM Cloud Private-CE


Learn about:

  • Enabling the LoadBalancer service on IBM Cloud Private-CE
  • Creating PV and PVC for the sample application
  • Compiling the source
  • Uploading a pipeline application to Kubeflow Dashboard and testing


Next: Kubeflow in IBM Cloud Private-CE