Getting Started with Kubeflow

Overview

Before you begin

This document provides information about setting up Kubeflow in various environments.

Before you set up Kubeflow, it’s important to some knowledge of the following systems and tools:

Kubeflow requirements

  • kustomize version 2.0.3 or later. See the kustomize component guide for details about installing kustomize.
  • An existing Kubernetes cluster using Kubernetes version 1.8 or later:

    • A minimum of 0.6 CPU in cluster (Reserved for 3 replicated ambassador pods and according to your need add additional CPUs)
    • Node with storage >= 10 GB (Due to the ML libraries and third party packages being bundled in Kubeflow Docker images)

Get your machine-learning workflow up and running on Kubeflow

There are various ways to install Kubeflow. Choose one of the following options to suit your environment (cloud, on premises (on prem), or local):

  • To use Kubeflow on Google Cloud Platform (GCP) and Kubernetes Engine (GKE), follow the GCP deployment guide.
  • To use Kubeflow on Amazon Web Services (AWS), follow the AWS deployment guide.
  • To use Kubeflow on Microsoft Azure Kubernetes Service (AKS), follow the AKS deployment guide.
  • To use Kubeflow on IBM Cloud Private (ICP), follow the ICP deployment guide.
  • If you have an existing Kubernetes cluster or want to use Kubeflow on prem, follow the guide to deploying Kubeflow on Kubernetes.
  • If you want to run Kubernetes locally in a virtual machine (VM), choose one of the following options:

    • MiniKF setup

      • MiniKF is a fast and easy way to get started with Kubeflow.
      • It installs with just two commands and then you are up for experimentation, and for running complete Kubeflow Pipelines.
      • MiniKF runs on all major operating systems (Linux, macOS, Windows).
    • Minikube setup

      • Minikube uses virtualization applications like VirtualBox or VMware Fusion to host the VM and provides a CLI that you can use outside the VM.
      • Minikube defines a fully-baked ISO image that contains a minimal operating system and Kubernetes already installed.
      • This option may be useful if you are just starting to learn and already have one of the virtualization applications installed.
    • MicroK8s setup

      • MicroK8s can provide the following benefits:
        • A small, fast, secure, single node Kubernetes installation that installs on any Linux system as a snap.
        • Strong isolation and update semantics - your cluster is updated within a short period after upstream Kubernetes releases.
        • Built-in support to enable an installed GPU: microk8s.enable gpu
      • MicroK8s requires Linux. If you are not on a Linux machine, or you want to confine your Kubeflow to a disposable machine, the installation guide show you how to use Multipass to launch a VM. Benefits include:

Installing command line tools

Troubleshooting

See the Kubeflow troubleshooting guide.

Next steps