Skip to content

pyxelr/kubeflow-deploy-on-windows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Kubeflow deployment on Windows through Microk8s

The following tutorial (based on the guide from Canonical) is composed of the steps that allowed me to deploy Kubeflow on my local machine with a Windows 10 Pro OS.

Since version 1.3 of the Kubeflow documentation, the OS based instructions seem to disappear, and version 1.2 does not provide enough details.

Prerequisites

  • Windows 10 Pro
  • minimum of 16 GB RAM, 4 CPU and 50 GB disk
  • Hyper-V (not available on Windows 10 Home)

Installation steps

  1. Install Multipass (1.6.2 in my case) basing on Hyper-V
  2. Deploy Kubeflow: multipass launch --name kubeflow --mem 8G --disk 50G --cpus 4 (in my case of 16 GB RAM machine, allocation of more than 8 GB memory results in a crash (times out))
  3. Enter this VM: multipass shell kubeflow
  4. Install Microk8s: sudo snap install microk8s --classic
  5. Verify success of the installation: sudo microk8s status --wait-ready
  6. Join the “microk8s” group:
    • sudo usermod -a -G microk8s $USER
    • sudo chown -f -R $USER ~/.kube
  7. Exit and re-enter the Ubuntu session for permissions to take effect:
    • exit
    • multipass shell kubeflow
  8. Enable dns, dashboard and storage services: microk8s.enable dns dashboard storage
  9. Start Kubeflow (can take several minutes): microk8s.enable kubeflow --ignore-min-mem (the included flag ignores warnings about the required 8 GB of memory)
  10. The deployment is successful once you see the Operator pods ready. message
  • In a new command prompt you can keep track of the status of this process with microk8s.kubectl get all --all-namespaces
  • Once it is 100% ready, the output should look similar to this screenshot:

Available Kubeflow Information

  1. Take a note of the URL, username and password. You can also check the login credentials with a command:
  • admin: microk8s juju config dex-auth static-username
  • password: microk8s juju config dex-auth static-password

Accessing the dashboard

On Ubuntu, you would simply open the link: http://10.64.140.43.xip.io

However, on Windows it is a bit more complicated (we need to create a SOCKS proxy to access the Kubeflow dashboard):

  1. Exit the VM: exit
  2. Find IPv4 (machine_public_ip): multipass info --all
  3. Re-establish connection to the machine using ssh, enabling SOCKS proxy with the -D9999 parameter: ssh -i C:\Windows\System32\config\systemprofile\AppData\Roaming\multipassd\ssh-keys\id_rsa -D9999 ubuntu@<machine_public_ip>
  4. Outside the terminal, navigate to Internet Options > Connections > LAN settings
  5. Check Use a proxy server for your LAN...
  6. Hit Advanced
  7. Remove everything for HTTP, Secure and FTP types
  8. For Socks, enter: 127.0.0.1 and 9999
  9. Hit OK > OK > OK
  10. Open the dashboard link (received after deploying Kubeflow) and input login credentials

Cleaning up

  1. To tear down Kubeflow and associated infrastructure, run: microk8s disable kubeflow
  2. To delete VM used for Kubeflow:
    • multipass delete kubeflow
    • multipass purge

Other installation options

If the steps above did not work:

Contributing

If there are any issues/improvements that you would like to include, feel free to create a pull request.

About

Instructions for local deployment of Kubeflow on Windows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published