Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Pre-Requisites

Docker for Desktop

Install Docker for Desktop v2.3.0.5 for your OS

Windows:

...

 https://desktop.docker.com/win/stable/48029/Docker%20Desktop%20Installer.exe

...


Mac:

MacOS:

Download kfctl for your OS:

https://desktop.docker.com/mac/stable/48029/Docker.dmg


Configure the resources for Docker

You'll want to have at least 4-6 cpus and about 8-16Gb of ram if you can spare it.

Image Added

Enable Kubernetes

Image Added

Installation 

On Windows

For windows, we are going to use a Ubuntu docker container to install Kubeflow into our Kubernetes running in Docker for Desktop. 


From a Command Prompt:

Code Block
> docker run -it --rm -v C:\Users\<USER>\.kube:/root/.kube ubuntu:20.04 bash

apt-get update
apt-get install -y curl                                                                                                 
apt-get install -y git                                                                                                  
apt-get install -y wget 

#install kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

#install kfctl
Code Block
$ wget https://github.com/kubeflow/kfctl/releases/download/v1.0.2.0/kfctl_v1.0.2.0-0-gbc038f9ga476281_darwinlinux.tar.gz
$                     
tar xvfz kfctl_v1.0.2.0-0-gbc038f9ga476281_darwinlinux.tar.gz

Add kfctl to your path

Code Block
$ mkdir ~/bin
$ mv ./kfctl ~/bin/
$ export PATH=$PATH:~/bin

Windows

The easiest to have access to kubectl and kfctl on windows it to run a Linux container that has the kfctl and kubectl utilities already installed.

To start a bash shell with the two CLI’s available, just execute:

Code Block
> docker run -it --rm -v C:\Users\<USER>\.kube:/root/.kube vikramfusionapplied/kfctl:v1.0.2 bash

You may want to wrap this command in a bat file for ease of use.

Install Kubeflow

Perform the following step from terminal on the Mac and from the bash shell of the docker container on Windows.

Check Version of kfctl

                                                                           
cp kfctl /usr/local/bin                                                                                                                                                                                                                         

#install kubeflow
export KF_NAME=kubeflow
export BASE_DIR=/opt/ubuntu/                                                                                            
export KF_DIR=${BASE_DIR}/${KF_NAME}                                                                                    
export CONFIG_URI="https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_k8s_istio.v1.0.2.yaml"  
mkdir -p ${KF_DIR}                                                                                                      
cd ${KF_DIR}                                                                                                            
kfctl apply -V -f ${CONFIG_URI}  


On Mac and Windows

Install kfctl

On Windows 

Code Block
#install kfctl
wget https://github.com/kubeflow/kfctl/releases/download/v1.0.2/kfctl_v1.0.2-0-ga476281_linux.tar.gz                    
tar xvfz kfctl_v1.0.2-0-ga476281_linux.tar.gz                                                                           
cp kfctl /usr/local/bin                                                                                                                                                                                                                         


On Mac

Code Block
wget https://github.com/kubeflow/kfctl/releases/download/v1.2.0/kfctl_v1.2.0-0-gbc038f9_darwin.tar.gz
tar xvfz kfctl_
Code Block
$ kfctl version
kfctl v1.2.0-0-gbc038f9

Install KubeFlow (Windows in bash. ie. $ bash)

_darwin.tar.gz
sudo cp kfctl /usr/local/bin/.


Install Kubeflow

On Windows in Container

Code Block
#install kubeflow
export KF_NAME=kubeflow
export BASE_DIR=/opt/ubuntu/                                                                                            
export KF_DIR=${BASE_DIR}/${KF_NAME}                                                                                    
export CONFIG_URI="https://raw.githubusercontent.com/kubeflow/manifests/v1.0-branch/kfdef/kfctl_k8s_istio.v1.0.2.yaml"  
mkdir -p ${KF_DIR}                                                                                                      
cd ${KF_DIR}                                                                                                            
kfctl apply -V -f ${CONFIG_URI} 


On Mac

Code Block
#install kubeflow
export KF_NAME=kubeflow
export BASE_DIR=/Users/<USERNAME>/kfctlinstall                                                                                            
export KF_DIR=${BASE_DIR}/${KF_NAME}                                                                                    
export CONFIG_URI="
Code Block
$ mkdir temp
$ cd temp
$ kfctl apply -f https://raw.githubusercontent.com/kubeflow/manifests/v1.20-branch/kfdef/kfctl_k8s_istio.v1.0.2.0.yaml"  
mkdir -p ${KF_DIR}                                                                                                      
cd ${KF_DIR}                                                                                                            
kfctl apply -V

...

 -f ${CONFIG_URI} 


Wait for containers to all start. This could take a while... up to 30 minutes.

Code Block
$ kubectl get pods --all-namespaces

$ kubectl get pods --all-namespaces |grep -v Running  |grep -v Completed |wc -l



**** From a WINDOWS CMD PROMPT (Windows) or teminal (MAC), enable port forwarding:

Code Block
$ kubectl port-forward -n istio-system svc/istio-ingressgateway 8080:80

Use it

Navigate to http://localhost:8080/

Image Added

For namespace, type default and click Finish.

Image Added


Image Added

References

ReferenceURL
Install Kubeflow on a single-node Kubernetes v1.18.2 clusterhttps://illya13.github.io/RL/tutorial/2020/05/03/install-kubeflow-on-single-node-kubernetes-v1.18.2.html
How to use Docker Desktop for Mac or Windows to run Kubeflowhttps://morioh.com/p/7c45a5df9034

Kubeflow: How to Install and Launch Kubeflow on your Local Machine

https://towardsdatascience.com/kubeflow-how-to-install-and-launch-kubeflow-on-your-local-machine-e0d7b4f7508f

...