<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kubeflow – Workstation Installation</title>
    <link>/docs/started/workstation/</link>
    <description>Recent content in Workstation Installation on Kubeflow</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    
	  <atom:link href="/docs/started/workstation/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Kubeflow on Linux</title>
      <link>/docs/started/workstation/getting-started-linux/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/started/workstation/getting-started-linux/</guid>
      <description>
        
        
        &lt;p&gt;For Linux systems you have options for servers (physical or virtual) and desktops.
The server options apply to the desktop as well.&lt;/p&gt;
&lt;h2 id=&#34;linux-server&#34;&gt;Linux server&lt;/h2&gt;
&lt;p&gt;For Linux servers you can install Kubeflow natively. This is perfect for
Linux hosts and virtual machines, such as VMs in OpenStack, VMware or public clouds like
GCP, AWS and Azure.&lt;/p&gt;
&lt;h3 id=&#34;microk8s&#34;&gt;MicroK8s&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://microk8s.io&#34;&gt;MicroK8s&lt;/a&gt; runs natively on most Linux distributions.&lt;/p&gt;
&lt;p&gt;Follow the installation guide for &lt;a href=&#34;/docs/started/workstation/getting-started-multipass/&#34;&gt;Kubeflow with MicroK8s&lt;/a&gt; to set up MicroK8s and enable Kubeflow.&lt;/p&gt;
&lt;h2 id=&#34;linux-desktop&#34;&gt;Linux desktop&lt;/h2&gt;
&lt;h3 id=&#34;kubeflow-appliance&#34;&gt;Kubeflow appliance&lt;/h3&gt;
&lt;p&gt;A Kubeflow appliance is a virtual machine that has Kubeflow already installed. Once the
necessary supporting software is installed no further installation steps are required.&lt;/p&gt;
&lt;h4 id=&#34;minikf&#34;&gt;MiniKF&lt;/h4&gt;
&lt;p&gt;MiniKF is a predefined virtual machine that installs onto VirtualBox through Vagrant.
The only following applications are required to use MiniKF:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.vagrantup.com/downloads.html&#34;&gt;Vagrant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.virtualbox.org/wiki/Downloads&#34;&gt;Virtual Box&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The full set of instructions are available on the
&lt;a href=&#34;/docs/started/workstation/getting-started-minikf/&#34;&gt;MiniKF getting started&lt;/a&gt; page.&lt;/p&gt;
&lt;h3 id=&#34;linux-appliance&#34;&gt;Linux appliance&lt;/h3&gt;
&lt;p&gt;A Linux appliance is a virtual machine that holds the linux operating system. From there
you have complete choice over Kubernetes and Kubeflow, which offers the greatest degree
of flexibility. You only need to install a single application to follow this path:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href=&#34;https://multipass.run/#install&#34;&gt;Multipass&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The instructions on &lt;a href=&#34;/docs/started/workstation/getting-started-multipass/&#34;&gt;Multipass and MicroK8s getting started&lt;/a&gt;
page will complete this path.&lt;/p&gt;
&lt;h3 id=&#34;kubernetes-appliance&#34;&gt;Kubernetes appliance&lt;/h3&gt;
&lt;p&gt;A Kubernetes appliance is a virtual machine that has a
Kubernetes cluster already installed. After starting the virtual machine, you need
to install Kubeflow. This option gives you full control over your Kubeflow setup.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href=&#34;https://kubernetes.io/docs/setup/learning-environment/minikube/&#34;&gt;Minikube&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Follow the instructions on &lt;a href=&#34;/docs/started/workstation/minikube-linux/&#34;&gt;deploying with MiniKube on
Linux&lt;/a&gt; to complete this path.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Kubeflow on macOS</title>
      <link>/docs/started/workstation/getting-started-macos/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/started/workstation/getting-started-macos/</guid>
      <description>
        
        
        &lt;p&gt;For macOS systems you have multiple options for getting started. The options range
from fully-assembled Kubeflow stacks, to stacks that require some assembly.&lt;/p&gt;
&lt;h2 id=&#34;kubeflow-appliance&#34;&gt;Kubeflow appliance&lt;/h2&gt;
&lt;p&gt;A Kubeflow appliance is a virtual machine that has Kubeflow already installed. Once the
necessary supporting software is installed no further installation steps are required.&lt;/p&gt;
&lt;h3 id=&#34;minikf&#34;&gt;MiniKF&lt;/h3&gt;
&lt;p&gt;MiniKF is a predefined virtual machine that installs onto VirtualBox through Vagrant.
The only following applications are required to use MiniKF:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.vagrantup.com/downloads.html&#34;&gt;Vagrant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.virtualbox.org/wiki/Downloads&#34;&gt;Virtual Box&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The full set of instructions are available on the
&lt;a href=&#34;/docs/started/workstation/getting-started-minikf/&#34;&gt;MiniKF getting started&lt;/a&gt; page.&lt;/p&gt;
&lt;h2 id=&#34;linux-appliance&#34;&gt;Linux appliance&lt;/h2&gt;
&lt;p&gt;A Linux appliance is a virtual machine that holds the linux operating system. From there
you have complete choice over Kubernetes and Kubeflow, which offers the greatest degree
of flexibility. You only need to install a single application to follow this path:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href=&#34;https://multipass.run/#install&#34;&gt;Multipass&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The instructions on &lt;a href=&#34;/docs/started/workstation/getting-started-multipass/&#34;&gt;Multipass and MicroK8s getting started&lt;/a&gt;
page will complete this path.&lt;/p&gt;
&lt;h2 id=&#34;kubernetes-appliance&#34;&gt;Kubernetes appliance&lt;/h2&gt;
&lt;p&gt;Similar to the Kubeflow appliance, the Kubernetes appliance is a virtual machine that
has a Kubernetes cluster already installed. After starting the virtual machine you
will need to install Kubeflow. This option gives you full control over your Kubeflow
setup.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Kubeflow on Windows</title>
      <link>/docs/started/workstation/getting-started-windows/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/started/workstation/getting-started-windows/</guid>
      <description>
        
        
        &lt;p&gt;For Windows systems you have multiple options for getting started. The options range
from fully-assembled Kubeflow stacks, to stacks that require some assembly.
In addition, with the recent announcement of
&lt;a href=&#34;https://devblogs.microsoft.com/commandline/announcing-wsl-2/&#34;&gt;Windows WSL 2&lt;/a&gt;,
some of the &lt;a href=&#34;/docs/started/workstation/getting-started-linux&#34;&gt;linux installation options&lt;/a&gt;
for Kubeflow will be available on Windows, once WSL2 is formally released.&lt;/p&gt;
&lt;h2 id=&#34;kubeflow-appliance&#34;&gt;Kubeflow appliance&lt;/h2&gt;
&lt;p&gt;A Kubeflow appliance is a virtual machine that has Kubeflow already installed. Once the
necessary supporting software is installed no further installation steps are required.&lt;/p&gt;
&lt;h3 id=&#34;minikf&#34;&gt;MiniKF&lt;/h3&gt;
&lt;p&gt;MiniKF is a predefined virtual machine that installs onto VirtualBox through Vagrant.
The following applications are required to use MiniKF:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.vagrantup.com/downloads.html&#34;&gt;Vagrant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.virtualbox.org/wiki/Downloads&#34;&gt;Virtual Box&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The full set of instructions are available on the
&lt;a href=&#34;/docs/started/workstation/getting-started-minikf/&#34;&gt;MiniKF getting started&lt;/a&gt; page.&lt;/p&gt;
&lt;h2 id=&#34;multipass-ubuntu&#34;&gt;Multipass Ubuntu&lt;/h2&gt;
&lt;p&gt;Windows users can get Kubeflow with &lt;a href=&#34;https://multipass.run/#install&#34;&gt;Multipass&lt;/a&gt;
by following the instructions on the
&lt;a href=&#34;/docs/started/workstation/getting-started-multipass/&#34;&gt;Multipass and MicroK8s getting started&lt;/a&gt;
page.&lt;/p&gt;
&lt;h2 id=&#34;kubernetes-appliance&#34;&gt;Kubernetes appliance&lt;/h2&gt;
&lt;p&gt;Similar to the Kubeflow appliance, the Kubernetes appliance is a virtual machine has a
Kubernetes cluster already installed. After starting the virtual machine you will need
to install Kubeflow. This option gives you full control over your Kubeflow setup.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: MiniKF</title>
      <link>/docs/started/workstation/getting-started-minikf/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/started/workstation/getting-started-minikf/</guid>
      <description>
        
        
        &lt;p&gt;&lt;img src=&#34;https://www.arrikto.com/wp-content/uploads/2019/06/minikf-latest-version.svg&#34; alt=&#34;MiniKF latestversion&#34; title=&#34;MiniKF latest version&#34;&gt;&lt;/p&gt;
&lt;p&gt;A production-ready, full-fledged, local Kubeflow deployment that
installs in minutes.&lt;/p&gt;
&lt;p&gt;MiniKF is a fast and easy way to get started with Kubeflow. With just a
few clicks, you are up for experimentation, and for running complete
Kubeflow Pipelines.&lt;/p&gt;
&lt;p&gt;To train at scale, move to a Kubeflow cloud deployment with one click,
without having to rewrite anything.&lt;/p&gt;
&lt;p&gt;Please see the &lt;a href=&#34;https://medium.com/kubeflow/minikf-the-fastest-and-easiest-way-to-deploy-kubeflow-on-your-laptop-a91fb846d0ba&#34;&gt;official
announcement&lt;/a&gt;
and the rationale behind MiniKF.&lt;/p&gt;
&lt;p&gt;Join the discussion on the
&lt;a href=&#34;https://kubeflow.slack.com/messages/CGRKM3N0G/&#34;&gt;#minikf&lt;/a&gt; Slack channel,
ask questions, request features, and get support for MiniKF.&lt;/p&gt;
&lt;p&gt;To join the Kubeflow Slack workspace, please &lt;a href=&#34;https://kubeflow.slack.com/join/shared_invite/zt-cpr020z4-PfcAue_2nw67~iIDy7maAQ&#34;&gt;request an
invite&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;system-requirements&#34;&gt;System requirements&lt;/h3&gt;
&lt;p&gt;For a smooth experience we recommend that your system meets the
following requirements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;12GB RAM&lt;/li&gt;
&lt;li&gt;2 CPUs&lt;/li&gt;
&lt;li&gt;50GB disk space&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;operating-systems&#34;&gt;Operating systems&lt;/h3&gt;
&lt;p&gt;MiniKF runs on all major operating systems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;li&gt;macOS&lt;/li&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h3&gt;
&lt;p&gt;Before installing MiniKF, you need to have Vagrant and VirtualBox
installed on your laptop.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.vagrantup.com/downloads.html&#34;&gt;Vagrant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.virtualbox.org/wiki/Downloads&#34;&gt;Virtual Box&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;minikf-installation&#34;&gt;MiniKF installation&lt;/h3&gt;
&lt;p&gt;Open a terminal on your laptop, create a new directory, switch into it,
and run the following commands to install MiniKF:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;vagrant init arrikto/minikf
vagrant up
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;MiniKF will take a few minutes to boot. When this is done, navigate to
http://10.10.10.10 and follow the on-screen instructions to start Kubeflow and
Rok.&lt;/p&gt;
&lt;h3 id=&#34;minikf-upgrade&#34;&gt;MiniKF upgrade&lt;/h3&gt;
&lt;p&gt;Here are step-by-step instructions for upgrading from a previous version:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Upgrade the MiniKF box to the latest version:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;vagrant box update
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;Ensure you have updated to the latest version:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;vagrant box list
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;Upgrade the &lt;code&gt;vagrant-persistent-storage&lt;/code&gt; plugin to v0.0.47 or later:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;vagrant plugin update vagrant-persistent-storage
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;Destroy the VM:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;vagrant destroy
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;Remove all local state. This will remove all of your customization in MiniKF
(notebooks, pipelines, Rok snapshots):
&lt;ul&gt;
&lt;li&gt;[Windows] &lt;code&gt;del minikf-user-data.vdi&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;[Linux/macOS] &lt;code&gt;rm minikf-user-data.vdi&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Re-create your VM:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;vagrant up
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;end-to-end-example-on-minikf&#34;&gt;End-to-end example on MiniKF&lt;/h3&gt;
&lt;p&gt;Notebooks &amp;amp; Kubeflow Pipelines on the new MiniKF. Run an e2e ML pipeline
following this
&lt;a href=&#34;https://medium.com/kubeflow/an-end-to-end-ml-pipeline-on-prem-notebooks-kubeflow-pipelines-on-the-new-minikf-33b7d8e9a836&#34;&gt;tutorial&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;installation-video&#34;&gt;Installation video&lt;/h3&gt;
&lt;p&gt;Here is a demo of installing MiniKF from scratch:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=rVak_NIKF88&#34; title=&#34;minikf-installation&#34;&gt;&lt;img src=&#34;https://img.youtube.com/vi/rVak_NIKF88/0.jpg&#34; alt=&#34;MiniKFinstallation&#34;&gt;&lt;/a&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Deploy using MiniKF on GCP</title>
      <link>/docs/started/workstation/minikf-gcp/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/started/workstation/minikf-gcp/</guid>
      <description>
        
        
        &lt;p&gt;&lt;img src=&#34;https://www.arrikto.com/wp-content/uploads/2020/02/minikf-latest-version-gcp.svg&#34; alt=&#34;MiniKF latestversion&#34; title=&#34;MiniKF latest version&#34;&gt;&lt;/p&gt;
&lt;p&gt;This guide describes how to launch a MiniKF virtual machine (VM) on GCP. MiniKF
is a single VM solution on the Google Cloud Marketplace, and installs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kubernetes (using Minikube)&lt;/li&gt;
&lt;li&gt;Kubeflow&lt;/li&gt;
&lt;li&gt;Kale, a tool to convert general purpose Jupyter Notebooks to Kubeflow
Pipelines workflows (&lt;a href=&#34;https://github.com/kubeflow-kale&#34;&gt;GitHub&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Arrikto&amp;rsquo;s Rok, a data management software for data versioning and
reproducibility&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MiniKF supports NVIDIA GPUs.&lt;/p&gt;
&lt;h3 id=&#34;before-you-start&#34;&gt;Before you start&lt;/h3&gt;
&lt;p&gt;Before installing MiniKF, make sure that your GCP project meets the minimum
requirements described below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Select or create a project on the &lt;a href=&#34;https://console.cloud.google.com/cloud-resource-manager&#34;&gt;GCP Console&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Make sure that you have the &lt;a href=&#34;https://cloud.google.com/iam/docs/understanding-roles#primitive_role_definitions&#34;&gt;editor role&lt;/a&gt;
role for the project. You can add a member to a project and
&lt;a href=&#34;https://cloud.google.com/iam/docs/granting-changing-revoking-access#using_the&#34;&gt;grant them a Cloud IAM role&lt;/a&gt; using the Cloud Console.&lt;/li&gt;
&lt;li&gt;Make sure that billing is enabled for your project. For more info, see the
&lt;a href=&#34;https://cloud.google.com/billing/docs/how-to/modify-project&#34;&gt;Modify a Project&amp;rsquo;s Billing Settings&lt;/a&gt; guide.&lt;/li&gt;
&lt;li&gt;If you are using the &lt;a href=&#34;https://cloud.google.com/free/docs/gcp-free-tier&#34;&gt;GCP Free Tier&lt;/a&gt; or the 12-month trial period with $300
credit, note that you can’t run the default GCP installation of MiniKF,
because the free tier does not offer enough resources. You need to &lt;a href=&#34;https://cloud.google.com/free/docs/gcp-free-tier#how-to-upgrade&#34;&gt;upgrade to a paid account&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Read the GCP guide to &lt;a href=&#34;https://cloud.google.com/compute/quotas&#34;&gt;resource quotas&lt;/a&gt; to understand the quotas on
resource usage that Compute Engine enforces, and to learn how to check your
quota and how to request an increase in quota.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;installing-minikf-on-gcp&#34;&gt;Installing MiniKF on GCP&lt;/h3&gt;
&lt;p&gt;To install MiniKF on GCP, follow the steps below:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Go to the &lt;a href=&#34;https://console.cloud.google.com/marketplace/details/arrikto-public/minikf?q=minikf&amp;amp;id=1f5eac28-1808-4969-b6fa-2cc231a23f45&#34;&gt;MiniKF page&lt;/a&gt; on
Google Cloud Marketplace.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on the &lt;strong&gt;LAUNCH&lt;/strong&gt; button&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/docs/images/minikf-launch.png&#34;
alt=&#34;Launch MiniKF on GCP&#34;
class=&#34;mt-3 mb-3 p-3 border border-info rounded&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Configure &amp;amp; Deploy&lt;/strong&gt; window, choose:&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Deployment name&lt;/strong&gt;: a name for your MiniKF instance&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Zone&lt;/strong&gt;: the GCP zone that you will deploy MiniKF&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Machine type&lt;/strong&gt;: a machine type with at least 2 vCPUs and 16 GB of RAM. If
in doubt, use the default machine type, n1–standard-8, which has 8 vCPUs and
30 GB of RAM.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Boot Disk&lt;/strong&gt;: a boot disk. This is the disk that holds the images that MiniKF
needs. Use the default value of 200 GB SSD Persistent Disk.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Data Disk&lt;/strong&gt;: a data disk. This is the disk that holds your snapshots. Use
an SSD Persistent Disk of at least 500 GB capacity.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;GPUs&lt;/strong&gt;: add one or more GPUs if you are running computationally intensive
ML workloads.&lt;/p&gt;
&lt;p&gt;Then click &lt;strong&gt;Deploy&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/docs/images/minikf-deploy.png&#34;
alt=&#34;Configure and deploy MiniKF&#34;
class=&#34;mt-3 mb-3 p-3 border border-info rounded&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;
&lt;p&gt;Now wait for the VM to boot.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/docs/images/minikf-up.png&#34;
alt=&#34;MiniKF on GCP has been deployed&#34;
class=&#34;mt-3 mb-3 p-3 border border-info rounded&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When the VM is up, &lt;strong&gt;ensure that MiniKF is up and running&lt;/strong&gt;. Before visiting
the MiniKF dashboard, ensure that Minikube, Kubeflow, and Rok (Snapshot
Store) are up and running. To do so, click on the &lt;strong&gt;SSH&lt;/strong&gt; button to connect
to the MiniKF VM and follow the on-screen instructions.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/docs/images/minikf-ssh.png&#34;
alt=&#34;Connect to the MiniKF VM&#34;
class=&#34;mt-3 mb-3 p-3 border border-info rounded&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;MiniKF dashboard, username, and password&lt;/strong&gt;. Now that Minikube, Kubeflow,
and Rok are up-and-running, close the SSH browser window, as you will not
need it anymore. On your current view, please find the &lt;strong&gt;MiniKF dashboard&lt;/strong&gt;
URL, &lt;strong&gt;MiniKF username&lt;/strong&gt;, and &lt;strong&gt;MiniKF password&lt;/strong&gt;. You will need them to log
in to Kubeflow and Rok. You should see a table like the one below:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/docs/images/minikf-info.png&#34;
alt=&#34;MiniKF dashboard, username, and password&#34;
class=&#34;mt-3 mb-3 p-3 border border-info rounded&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Log in to Kubeflow&lt;/strong&gt;. Visit the MiniKF dashboard URL and log in to Kubeflow
using the MiniKF username and password.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/docs/images/minikf-kubeflow.png&#34;
alt=&#34;Log in to Kubeflow&#34;
class=&#34;mt-3 mb-3 p-3 border border-info rounded&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Log in to Snapshot Store (Rok)&lt;/strong&gt;. After logging in to Kubeflow, navigate to
the &lt;strong&gt;Snapshot Store&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/docs/images/minikf-snapshot-store.png&#34;
alt=&#34;Navigate to the Snapshot Store&#34;
class=&#34;mt-3 mb-3 p-3 border border-info rounded&#34;&gt;&lt;/p&gt;
&lt;p&gt;And log in to Snapshot Store (Arrikto&amp;rsquo;s Rok) using the MiniKF username and
password.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;/docs/images/minikf-snapshot-store-login.png&#34;
alt=&#34;Log in to Rok&#34;
class=&#34;mt-3 mb-3 p-3 border border-info rounded&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Congratulations! You have successfully deployed MiniKF on GCP. You can now
create notebooks, write your ML code, and run Kubeflow Pipelines.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Deploy using MiniKube on Linux</title>
      <link>/docs/started/workstation/minikube-linux/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/started/workstation/minikube-linux/</guid>
      <description>
        
        
        &lt;p&gt;This guide covers the installation of Minikube and Kubeflow in a single node Ubuntu system. Minikube provides a single node Kubernetes cluster that is good for development and testing purposes.&lt;/p&gt;
&lt;p&gt;The guide covers the following topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;installation of docker-community edition (docker-ce), kubectl, and Minikube&lt;/li&gt;
&lt;li&gt;installation of Kubeflow&lt;/li&gt;
&lt;li&gt;launch of Kubeflow central dashboard&lt;/li&gt;
&lt;li&gt;execution of an MNIST on-prem notebook&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Ubuntu 18 machine with min 8 cores, 16GB RAM, 250GB storage&lt;/li&gt;
&lt;li&gt;Root privileges on a Ubuntu machine&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;installation-of-docker-ce-kubectl-and-minikube&#34;&gt;Installation of Docker CE, kubectl, and Minikube&lt;/h2&gt;
&lt;p&gt;Minikube provides a no-driver mode based on Docker without requiring a hypervisor.&lt;/p&gt;
&lt;h3 id=&#34;install-docker-ce&#34;&gt;Install Docker CE&lt;/h3&gt;
&lt;p&gt;Run the following commands to install Docker CE:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;apt-get update
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository \
   &amp;quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable&amp;quot;
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To verify your installation, run:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker run hello-world
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The expected output looks like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Unable to find image &#39;hello-world:latest&#39; locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete                                                                                        Digest: sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;install-kubectl&#34;&gt;Install kubectl&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;kubectl&lt;/code&gt; is a Kubernetes command-line tool that allows you to run commands against Kubernetes clusters. The following instructions install version 1.15 of kubectl. If you are looking for a specific version, see the &lt;a href=&#34;https://kubernetes.io/docs/tasks/tools/install-kubectl/&#34;&gt;kubectl installation guide&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/linux/amd64/kubectl
chmod +x ./kubectl
mv ./kubectl /usr/local/bin/kubectl
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;install-minikube&#34;&gt;Install Minikube&lt;/h3&gt;
&lt;p&gt;The following command installs Minikube v1.2.0. If you are looking for a specific version, see the &lt;a href=&#34;https://github.com/kubernetes/minikube/releases&#34;&gt;Minikube releases&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.2.0/minikube-linux-amd64
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Move to the &lt;code&gt;/usr/local/bin&lt;/code&gt; directory:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;chmod +x minikube
cp minikube /usr/local/bin/
rm minikube
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;start-minikube&#34;&gt;Start Minikube&lt;/h3&gt;
&lt;p&gt;The following command starts Minikube with 6 CPUs, 12288 memory, 120G disk size:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;minikube start --vm-driver=none --cpus 6 --memory 12288 --disk-size=120g --extra-config=apiserver.authorization-mode=RBAC --extra-config=kubelet.resolv-conf=/run/systemd/resolve/resolv.conf --extra-config kubeadm.ignore-preflight-errors=SystemVerification
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;installation-of-kubeflow&#34;&gt;Installation of Kubeflow&lt;/h2&gt;
&lt;p&gt;Follow these steps to install Kubeflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the kfctl v1.0.2 release from the
&lt;a href=&#34;https://github.com/kubeflow/kfctl/releases/tag/v1.0.2&#34;&gt;Kubeflow releases
page&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Unpack the tar ball:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;tar -xvf kfctl_v1.0.2_&amp;lt;platform&amp;gt;.tar.gz
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run the following commands to set up and deploy Kubeflow. The code below includes an optional command to add the binary kfctl to your path. If you don’t add the binary to your path, you must use the full path to the kfctl binary each time you run it.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# The following command is optional, to make kfctl binary easier to use.
export PATH=$PATH:&amp;lt;path to where kfctl was unpacked&amp;gt;

# Set KF_NAME to the name of your Kubeflow deployment. This also becomes the
# name of the directory containing your configuration.
# For example, your deployment name can be &#39;my-kubeflow&#39; or &#39;kf-test&#39;.
export KF_NAME=&amp;lt;your choice of name for the Kubeflow deployment&amp;gt;

# Set the path to the base directory where you want to store one or more 
# Kubeflow deployments. For example, /opt/.
# Then set the Kubeflow application directory for this deployment.
export BASE_DIR=&amp;lt;path to a base directory&amp;gt;
export KF_DIR=${BASE_DIR}/${KF_NAME}

# Set the configuration file to use, such as the file specified below:
export CONFIG_URI=&amp;quot;https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_k8s_istio.v1.0.2.yaml&amp;quot;

# Generate and deploy Kubeflow:
mkdir -p ${KF_DIR}
cd ${KF_DIR}
kfctl apply -V -f ${CONFIG_URI}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;${KF_NAME}&lt;/strong&gt; - The name of your Kubeflow deployment.
If you want a custom deployment name, specify that name here.
For example,  &lt;code&gt;my-kubeflow&lt;/code&gt; or &lt;code&gt;kf-test&lt;/code&gt;.
The value of KF_NAME must consist of lower case alphanumeric characters or
&amp;lsquo;-&amp;rsquo;, and must start and end with an alphanumeric character.
The value of this variable cannot be greater than 25 characters. It must
contain just a name, not a directory path.
This value also becomes the name of the directory where your Kubeflow
configurations are stored, that is, the Kubeflow application directory.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;${KF_DIR}&lt;/strong&gt; - The full path to your Kubeflow application directory.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The following example installs Kubeflow v1.0.0 under the &lt;code&gt;/root/kubeflow/v1.0&lt;/code&gt; directory:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mkdir -p /root/kubeflow/v1.0
cd /root/kubeflow/v1.0
wget https://github.com/kubeflow/kfctl/releases/download/v1.0/kfctl_v1.0-0-g94c35cf_linux.tar.gz

tar -xvf kfctl_v1.0-0-g94c35cf_linux.tar.gz			
export PATH=$PATH:/root/kubeflow/v1.0
export KF_NAME=my-kubeflow
export BASE_DIR=/root/kubeflow/v1.0
export KF_DIR=${BASE_DIR}/${KF_NAME}
export CONFIG_URI=&amp;quot;https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_k8s_istio.v1.0.2.yaml&amp;quot; 

mkdir -p ${KF_DIR}
cd ${KF_DIR}
kfctl apply -V -f ${CONFIG_URI}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When the installation finishes, run the following command to see whether all the pods are in running status. Depending on your machine’s capability, it may take a few minutes to reach full running status:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl get pod -n kubeflow
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Expected output:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NAME                                                           READY   STATUS      RESTARTS   AGE
admission-webhook-bootstrap-stateful-set-0                     1/1     Running     0          10m
admission-webhook-deployment-64cb96ddbf-w7ptd                  1/1     Running     0        9m33s
application-controller-stateful-set-0                          1/1     Running     0          13m
argo-ui-778676df64-kjw6s                                       1/1     Running     0          10m
centraldashboard-7dd7dd685d-hvll8                              1/1     Running     0          10m
jupyter-web-app-deployment-89789fd5-cjkwf                      1/1     Running     0          10m
katib-controller-6b789b6cb5-kgzv8                              1/1     Running     1          10m
katib-db-manager-64f548b47c-sszv9                              1/1     Running     3        9m59s
katib-mysql-57884cb488-d4qt2                                   1/1     Running     0        9m59s
katib-ui-5c5cc6bd77-2kqvc                                      1/1     Running     0        9m59s
kfserving-controller-manager-0                                 2/2     Running     1          10m
metacontroller-0                                               1/1     Running     0          10m
metadata-db-76c9f78f77-7r8vb                                   0/1     Running     1          10m
metadata-deployment-674fdd976b-hzmzx                           0/1     Running     0          10m
metadata-envoy-deployment-5688989bd6-rqtrk                     1/1     Running     0          10m
metadata-grpc-deployment-5579bdc87b-xx9fk                      1/1     Running     6          10m
metadata-ui-9b8cd699d-scs9d                                    1/1     Running     0          10m
minio-755ff748b-lxsb6                                          1/1     Running     0        9m55s
ml-pipeline-79b4f85cbc-8tjff                                   1/1     Running     0        9m55s
ml-pipeline-ml-pipeline-visualizationserver-5fdffdc5bf-zsngc   1/1     Running     0        9m42s
ml-pipeline-persistenceagent-645cb66874-b465h                  1/1     Running     0        9m54s
ml-pipeline-scheduledworkflow-6c978b6b85-cffng                 1/1     Running     0        9m42s
ml-pipeline-ui-6995b7bccf-s642q                                1/1     Running     0        9m45s
ml-pipeline-viewer-controller-deployment-8554dc7b9f-vgw9r      1/1     Running     0        9m44s
mysql-598bc897dc-lsmqc                                         1/1     Running     0        9m54s
notebook-controller-deployment-7db57b9ccf-vw9vw                1/1     Running     0          10m
profiles-deployment-5d87dd4f87-7gfrj                           2/2     Running     0        9m41s
pytorch-operator-5fd5f94bdd-kfgvp                              1/1     Running     2          10m
seldon-controller-manager-679fc777cd-4n229                     1/1     Running     0        9m39s
spark-operatorcrd-cleanup-kxr7g                                0/2     Completed   0          10m
spark-operatorsparkoperator-c7b64b87f-cfptj                    1/1     Running     0          10m
spartakus-volunteer-6b767c8d6-4v6hc                            1/1     Running     0          10m
tensorboard-6544748d94-8ctk8                                   1/1     Running     0          10m
tf-job-operator-7d7c8fb8bb-xz5pw                               1/1     Running     1          10m
workflow-controller-945c84565-57c72                            1/1     Running     0          10m
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;launch-of-kubeflow-central-dashboard&#34;&gt;Launch of Kubeflow central dashboard&lt;/h2&gt;
&lt;p&gt;You can access the Kubeflow dashboard using the istio-ingressgateway service. To see your settings for the istio-ingressgateway service, execute the following commands:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;export INGRESS_HOST=$(minikube ip)
export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath=&#39;{.spec.ports[?(@.name==&amp;quot;http2&amp;quot;)].nodePort}&#39;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then you can access the Kubeflow dashboard in a web browser:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;http://&amp;lt;INGRESS_HOST&amp;gt;:&amp;lt;INGRESS_PORT&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;execution-of-an-mnist-on-prem-notebook&#34;&gt;Execution of an MNIST on-prem notebook&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&#34;https://github.com/kubeflow/fairing/blob/master/examples/mnist/mnist_e2e_on_prem.ipynb&#34;&gt;MNIST on-prem notebook&lt;/a&gt; builds a Docker image, launches a TFJob to train a model, and creates an InferenceService (KFServing) to deploy the trained model.&lt;/p&gt;
&lt;h3 id=&#34;prerequisites-1&#34;&gt;Prerequisites&lt;/h3&gt;
&lt;h4 id=&#34;step-1-set-up-python-environment&#34;&gt;Step 1: Set up Python environment&lt;/h4&gt;
&lt;p&gt;You need Python 3.5 or later:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;apt-get update; apt-get install -y wget bzip2
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Re-open your current shell.&lt;/p&gt;
&lt;p&gt;Create a Python 3.7 environment named &lt;code&gt;mlpipeline&lt;/code&gt; (or any name that you prefer):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;conda create --name mlpipeline python=3.7
conda init
conda activate mlpipeline 
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;step-2-install-jupyter-notebooks&#34;&gt;Step 2: Install Jupyter Notebooks&lt;/h4&gt;
&lt;p&gt;Run the following command to install Jupyter Notebooks:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pip install --upgrade pip
pip install jupyter
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You can find the full instructions in the &lt;a href=&#34;https://jupyter.readthedocs.io/en/latest/install.html&#34;&gt;Jupyter documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;step-3-create-a-docker-id&#34;&gt;Step 3: Create a Docker ID&lt;/h4&gt;
&lt;p&gt;In order to build Docker images from your notebook, you need a Docker registry to store the images.
If you don&amp;rsquo;t have a Docker ID, follow the &lt;a href=&#34;https://docs.docker.com/docker-id/&#34;&gt;Docker documentation&lt;/a&gt; to create one.&lt;/p&gt;
&lt;h4 id=&#34;step-4-create-a-namespace-to-run-the-mnist-on-prem-notebook&#34;&gt;Step 4: Create a namespace to run the MNIST on-prem notebook&lt;/h4&gt;
&lt;p&gt;The following commands create a namespace called &lt;code&gt;mnist&lt;/code&gt;. You can use any name you like:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;kubectl create ns mnist
kubectl label namespace mnist serving.kubeflow.org/inferenceservice=enabled 
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;step-5--download-the-mnist-on-prem-notebook&#34;&gt;Step 5:  Download the MNIST on-prem notebook&lt;/h4&gt;
&lt;p&gt;Run the following commands to download the notebook:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd /root/kubeflow
git clone https://github.com/kubeflow/fairing.git
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;launch-jupyter-notebook&#34;&gt;Launch Jupyter Notebook&lt;/h3&gt;
&lt;p&gt;Run the following commands to launch a Jupyter Notebooks server:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;cd /root/kubeflow/fairing/examples/mnist
conda activate mlpipeline
docker login
jupyter notebook --allow-root
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You should see output like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[I 21:17:37.473 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[I 21:17:37.784 NotebookApp] Serving notebooks from local directory: /root/kubeflow/fairing/examples/mnist
[I 21:17:37.784 NotebookApp] The Jupyter Notebook is running at:
[I 21:17:37.784 NotebookApp] http://localhost:8888/?token=06cd43860cb7cb214bba30028d4b93f9f1acb08e3121ee13
[I 21:17:37.784 NotebookApp]  or http://127.0.0.1:8888/?token=06cd43860cb7cb214bba30028d4b93f9f1acb08e3121ee13
[I 21:17:37.784 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 21:17:37.789 NotebookApp] No web browser found: could not locate runnable browser.
[C 21:17:37.789 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///root/.local/share/jupyter/runtime/nbserver-16796-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=06cd43860cb7cb214bba30028d4b93f9f1acb08e3121ee13
     or http://127.0.0.1:8888/?token=06cd43860cb7cb214bba30028d4b93f9f1acb08e3121ee13
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;See the &lt;a href=&#34;#hints-and-tips&#34;&gt;hints and tips section&lt;/a&gt; to learn how to access the notebook user interface (UI) remotely.&lt;/p&gt;
&lt;h3 id=&#34;execute-mnist-on-prem-notebook&#34;&gt;Execute MNIST on-prem notebook&lt;/h3&gt;
&lt;p&gt;After launching Jupyter Notebooks, click &lt;strong&gt;mnist_e2e_on_prem.ipynb&lt;/strong&gt; to open the notebook.
Take the following steps before running the notebook:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Under &lt;code&gt;Configure The Docker Registry For Kubeflow Fairing&lt;/code&gt;, modify the cell to use your Docker ID and namespace created above.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   DOCKER_REGISTRY = &#39;index.docker.io/&amp;lt;your Docker ID&amp;gt;&#39;
   my_namespace = &#39;mnist&#39;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The MNIST on-prem notebook assumes that an NFS server is available or an existing persistent volume (PV) and persistent volume claim (PVC) is created. The NFS server is not installed with Minikube. If you don&amp;rsquo;t have an NFS server and don&amp;rsquo;t have any existing PV and PVC, you can instruct the notebook to create a PV and PVC by making the following change:&lt;/p&gt;
&lt;p&gt;Under &lt;code&gt;Create PV/PVC to Store The Exported Model&lt;/code&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the first cell, comment out &lt;code&gt;nfs_server&lt;/code&gt; and &lt;code&gt;nfs_path&lt;/code&gt;:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;# nfs_server = &#39;172.16.189.69&#39;
# nfs_path = &#39;/opt/kubeflow/data/mnist&#39;
pv_name = &#39;mnist-e2e-pv&#39;
pvc_name = &#39;mnist-e2e-pvc&#39;
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;In the second cell, change the &lt;code&gt;nfs&lt;/code&gt; section to &lt;code&gt;hostPath&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nfs:
  path: {nfs_path}
  server: {nfs_server}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;to&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hostPath:
  path: /mnt/data
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;hints-and-tips&#34;&gt;Hints and tips&lt;/h2&gt;
&lt;h3 id=&#34;access-a-jupyter-notebook-ui-remotely&#34;&gt;Access a Jupyter Notebook UI remotely&lt;/h3&gt;
&lt;p&gt;If your Jupyter Notebooks server is hosted in a Linux machine and you want to access a notebook UI from your Windows/Mac machine, you can use the following port forwarding technique:&lt;/p&gt;
&lt;p&gt;General syntax for port forwarding from XXXX to YYYY:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ssh -N -f -L localhost:YYYY:localhost:XXXX remoteuser@remotehost
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Below is an example of accessing a Jupyter notebook hosted in a Linux machine, remotehost.com (port 8888), in a Windows machine using port 8889.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the Windows machine, issue the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ssh -N -f -L localhost:8889:localhost:8888 root@remotehost.com
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Enter a password when prompted to access remotehost.com&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the Windows machine, open a web browser and enter the following URL:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;localhost:8889
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;TroubleShooting&lt;/h2&gt;
&lt;h3 id=&#34;attributeerror-when-create-namespace-object&#34;&gt;AttributeError when create namespace object&lt;/h3&gt;
&lt;p&gt;When using Kubeflow Fairing to build a Docker image and launch a training job (part of the &lt;a href=&#34;https://github.com/kubeflow/fairing/blob/master/examples/mnist/mnist_e2e_on_prem.ipynb&#34;&gt;notebook&lt;/a&gt;), you may see the following error:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;AttributeError: &#39;V1TFJob&#39; object has no attribute &#39;openapi_types&#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This is caused by an &lt;a href=&#34;https://github.com/kubernetes-client/python/issues/1112&#34;&gt;existing issue in Kubernetes client API&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To bypass this issue, install Kubernetes Client API version 10.0.1:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;pip install kubernetes==10.0.1
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: Microk8s for Kubeflow</title>
      <link>/docs/started/workstation/getting-started-multipass/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/started/workstation/getting-started-multipass/</guid>
      <description>
        
        
        &lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;
  &lt;h4 class=&#34;alert-heading&#34;&gt;Alpha&lt;/h4&gt;
  This Kubeflow component has &lt;b&gt;alpha&lt;/b&gt; status with limited support. See the
  &lt;a href=&#34;/docs/reference/version-policy/&#34;&gt;Kubeflow versioning policies&lt;/a&gt;.
  The Kubeflow team is interested in your   
  &lt;a href=&#34;https://github.com/kubeflow/kubeflow/issues&#34;&gt;feedback&lt;/a&gt;&lt;/h4&gt; 
  about the usability of the feature.
&lt;/div&gt;
&lt;p&gt;This document outlines the steps that you can take to get your local installation of Kubeflow running on top of Microk8s, a small enterprise Kubernetes cluster. Microk8s requires Linux; if you are not on a Linux system, you can use Multipass to create a Linux VM (virtual machine) on your native hypervisor.&lt;/p&gt;
&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;If you already have Ubuntu or Linux that supports &lt;a href=&#34;https://snapcraft.io/&#34;&gt;snaps&lt;/a&gt;, you can easily install Kubernetes using &lt;a href=&#34;https://microk8s.io/&#34;&gt;Microk8s&lt;/a&gt;. You can jump to the &lt;strong&gt;Install Kubeflow using Microk8s&lt;/strong&gt; section below.&lt;/p&gt;
&lt;p&gt;If you don&amp;rsquo;t have a Linux system already, or you would like to confine your Kubeflow to a disposable machine, then &lt;a href=&#34;https://multipass.run/&#34;&gt;Create a VM with Multipass&lt;/a&gt; first and then follow the instructions below. That will get you an Ubuntu machine that can be used to install Kubernetes and Kubeflow.&lt;/p&gt;
&lt;h2 id=&#34;install-kubeflow-using-microk8s&#34;&gt;Install Kubeflow using Microk8s&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s a summary of the steps involved:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set up Microk8s&lt;/li&gt;
&lt;li&gt;Enable Kubeflow&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; the minimum version of Microk8s needed to enable Kubeflow is 1.18&lt;/p&gt;
&lt;h3 id=&#34;1-install-and-set-up-microk8s&#34;&gt;1. Install and set up Microk8s&lt;/h3&gt;
&lt;p&gt;Run the following commands to install and setup MicroK8s:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;snap install microk8s --classic
microk8s.status --wait-ready
# Enable common services:
microk8s.enable dns dashboard storage
# If you have a GPU, run: `microk8s.enable gpu`
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;2-enable-kubeflow&#34;&gt;2. Enable Kubeflow&lt;/h3&gt;
&lt;p&gt;Run the following command to enable Kubeflow:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;microk8s.enable kubeflow
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This script will print out the port number for Ambassador and for Jupyter notebook
servers.&lt;/p&gt;
&lt;h2 id=&#34;access-kubeflow&#34;&gt;Access Kubeflow&lt;/h2&gt;
&lt;p&gt;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, you can get the IP address of the VM with either &lt;code&gt;multipass list&lt;/code&gt; or &lt;code&gt;multipass info kubeflow&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Point browser to either:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;http://&amp;quot; Your kubeflow VM IP&amp;quot;:&amp;ldquo;Ambassador PORT&amp;rdquo;&lt;/li&gt;
&lt;li&gt;http://localhost:&amp;quot; Ambassador PORT&amp;quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Refer to the &lt;a href=&#34;https://microk8s.io/docs/troubleshooting&#34;&gt;microk8s common issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Refer to the &lt;a href=&#34;https://multipass.run/docs&#34;&gt;multipass docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Refer to the &lt;a href=&#34;/docs/&#34;&gt;user guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Refer to the &lt;a href=&#34;/docs/components/&#34;&gt;components&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Refer to the guide to &lt;a href=&#34;/docs/notebooks/&#34;&gt;Jupyter notebooks in Kubeflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
  </channel>
</rss>
