Kubeflow Anywhere Tim Van Steenburgh Engineering Manager, Canonical - - PowerPoint PPT Presentation

kubeflow anywhere
SMART_READER_LITE
LIVE PREVIEW

Kubeflow Anywhere Tim Van Steenburgh Engineering Manager, Canonical - - PowerPoint PPT Presentation

Up and Running with Kubeflow Anywhere Tim Van Steenburgh Engineering Manager, Canonical GTC 2019 - S9515 Zero to Kubeflow 01 Provision hardware. Physical or virtual. GPUs optional. 02 Deploy Kubernetes. Configure for GPUs. 03 Deploy


slide-1
SLIDE 1

Kubeflow Anywhere

Up and Running with

Tim Van Steenburgh Engineering Manager, Canonical GTC 2019 - S9515

slide-2
SLIDE 2

Zero to Kubeflow

01

Provision hardware. Physical or virtual. GPUs optional.

02

Deploy Kubernetes. Configure for GPUs.

03

Deploy Kubeflow.

slide-3
SLIDE 3

On laptop and desktop... ...on-premise server infrastructure... ...and the cloud.

slide-4
SLIDE 4

Demo Material

Instructions

https://jujucharms.com/u/kubeflow-charmers/kubeflow/

Need help?

http://slack.kubernetes.io/ #cdk #microk8s

slide-5
SLIDE 5

Kubeflow on public cloud

slide-6
SLIDE 6

Deploy Kubernetes

Kubeflow on public cloud

slide-7
SLIDE 7

# create your k8s cluster sudo snap install conjure-up --classic conjure-up kubernetes # after conjure-up finishes... watch -c juju status --color kubectl cluster-info

Deploy Kubernetes Cluster

slide-8
SLIDE 8

Add and enable GPUs

Kubeflow on public cloud

slide-9
SLIDE 9

# add gpu machine and make it a k8s node juju add-machine --constraints instance-type=p2.xlarge juju add-unit kubernetes-worker --to <machine> # k8s is aware of the gpu kubectl get nodes -L gpu kubectl get ds --all-namespaces

Add and Enable GPU

slide-10
SLIDE 10

Deploy Kubeflow

Kubeflow on public cloud

slide-11
SLIDE 11

juju add-k8s cdk juju add-model kubeflow cdk # create default storage class kubectl apply -f https://bit.ly/2ubqfcg juju deploy kubeflow juju config kubeflow-ambassador \ juju-external-hostname=<node-ip>.xip.io juju expose kubeflow-ambassador

Deploy Kubeflow

slide-12
SLIDE 12

Accessing the Kubeflow dashboards

http://<node-ip>.xip.io/hub/ (Jupyterhub) http://<node-ip>.xip.io/tfjobs/ui/ (TF Job Dashboard)

Submitting a TensorFlow job to use the GPU

kubectl apply -n kubeflow -f https://bit.ly/2FmA1xF

Using Kubeflow

slide-13
SLIDE 13

Kubeflow on a laptop

slide-14
SLIDE 14

Deploy Kubernetes

Kubeflow on a laptop

slide-15
SLIDE 15

# not on Linux? launch Ubuntu VM... multipass launch ubuntu multipass shell <vm-name> # ...then install Juju and MicroK8s snap install juju --classic --edge snap install microk8s --classic microk8s.status --wait-ready

Deploy Single-node Kubernetes

slide-16
SLIDE 16

Enable GPU in Kubernetes

Kubeflow on a laptop

slide-17
SLIDE 17

# ensure gpu drivers are installed... sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt install nvidia-driver-418 sudo reboot now # ...then enable gpu support in MicroK8s microk8s.enable gpu

Enable GPU

slide-18
SLIDE 18

Deploy Kubeflow

Kubeflow on a laptop

slide-19
SLIDE 19

microk8s.enable ingress storage microk8s.config | juju add-k8s microk8s juju bootstrap microk8s juju add-model kubeflow juju deploy kubeflow juju config kubeflow-ambassador \ juju-external-hostname=<laptop-ip>.xip.io juju expose kubeflow-ambassador

Deploy Kubeflow

slide-20
SLIDE 20

Accessing the Kubeflow dashboards

http://<laptop-ip>.xip.io/hub/ (Jupyterhub) http://<laptop-ip>.xip.io/tfjobs/ui/ (TF Job Dashboard)

Submitting a TensorFlow job to use the GPU

kubectl apply -n kubeflow -f https://bit.ly/2FmA1xF

Using Kubeflow

slide-21
SLIDE 21

To learn more...

Snaps: https://snapcraft.io/ Multipass: https://github.com/CanonicalLtd/multipass MicroK8s: https://microk8s.io Juju: https://jujucharms.com/ Charmed Kubernetes: https://www.ubuntu.com/kubernetes

slide-22
SLIDE 22

Thank you. Questions?