Install Kubeflow on Ubuntu

Create and train machine learning models on your laptop, in your data center, or in the cloud.

How to deploy Kubeflow

If you already have Ubuntu or another Linux, the following instructions are all you need. However, if you are on Windows or Mac, consider using Multipass to easily create an Ubuntu VM to work with.

Kubeflow runs on top of Kubernetes. Visit our Kubernetes install page and follow the instructions to install the Kubernetes as you want.

The following step assumes you want to install MicroK8s as your Kubernetes cluster.

  1. Install MicroK8s

    MicroK8s can be installed with one command.

    To get the most out of your Kubernetes cluster, including enabling required features like storage and dns, run these commands:

    If you have a GPU, run:

  2. Instal kfctl

    kfctl is a binary developed by the Kubeflow community that can be used to install the standard set of Kubeflow components.

    The instructions below will download the binary as a compressed file, expand it into the current directory, and add it to the PATH.

  3. Install Kubeflow

    kfctl will install the standard set of Kubeflow components. The script below will create a directory, "kf-poc", which will store all the kubernetes kustomize yaml files.

    If you see a warning “..Could not find namespace kubeflow-anonymous..”, create the namespace manually:

    It will take several minutes for the cluster to become operational - there are many containers that will be downloaded and started. To check the install status, run this command:

    You can use watch to automatically update the status of the pods:

  4. Access Kubeflow

    If you installed MicroK8s on your local host, then you can use localhost as the IP address in your browser.

    Otherwise, if you used Multipass as per the instructions above, you can get the IP address of the VM with either multipass list or multipass info kubeflow.

    In addition to the IP address, to access the Kubeflow home page, you’ll need the port number. The default nodeport should be `31380`, but to confirm, you can run the following command. It will highlight the http port to use.

    And now you should go to your browser and enter this URL:

    Now you should go to your browser and point browser to either:

    • http://<kubeflow VM IP>:<Istio PORT>
    • http://localhost:<Istio PORT>
  5. Next Steps

    To get more information on this install process, including screen shots of the process, please visit the Getting Started with Kubeflow tutorial.

    More recommended reading:

Learn more about AI/ML and Kubeflow


A detailed look into the AI and ML landscape, how to deploy your first model and more.


Examine the fundamentals of a successful AI project that helps your organisation achieve their AI ambitions.

Get started with AI ›

Need more help?

Let our Kubernetes experts help you take the next step.

Contact us