Intro

Welcome! By following the instructions below, you should be able to deploy a kubernetes cluster running on Google Cloud Platform GKE, a VPC, Kubeflow, and Istio.

Kubeflow is a portable and scalable machine learning toolkit, that eases the task of deploying machine learning workflows on Kubernetes.
Kubeflow provides out-of-the-box:

  • Jupyter notebooks
  • TensorFlow model training job operator
  • TensorFlow Serving container to export trained models to Kubernetes
  • Kubeflow Pipelines for deploying and managing end-to-end ML workflows
  • Istio + Ambassador for ingress
  • And more

Project structure

  • README.md
    You are here
  • Makefile
    High level cli interface
  • gcp/
    infrastructure-as-code for GKE cluster and Google VPC
  • gcp.tf
    Initialization of terraform module declared in .gcp
  • k8s/kubeflow
    Kubeflow k8s files

Pre-requisites

Step by step deployment of a GKE cluster with Kubeflow and Istio

  1. Double check each item at the Pre-requisites section
  2. Install kfctl locally with make deps-macos or make deps-linux
  3. Run make auth-gcloud and grant gcloud authorization to interact with GCP's k8s API
  4. Run make gcp-build to deploy a VPC and a GKE cluster
  5. You might need to wait a few minutes for the VPC and GKE cluster to be ready
  6. Run make kubeflow-refresh to refresh your kubeflow infrastructure's code
  7. Run make kubeflow-build to install kubeflow
  • Or cross your fingers and run make all ;-)

Shutdown and remove all the infrastructure

  • make clean

Backlog