Install on GKE

This guide describes how to install Charmed Kubeflow (CKF) on Google Kubernetes Engine (GKE).

You will spin up a GKE cluster on Google Gloud, and then deploy CKF using the Kubernetes (K8s) Command Line Interface (CLI), kubectl , and Juju.

Requirements

Set up Google Cloud

  1. Install Google Cloud authorisation plugin using gcloud CLI:
gcloud components install gke-gcloud-auth-plugin
  1. Log in and enable required services on your Google Cloud project:
gcloud auth login
export PROJECT_ID=test-project
gcloud config set project test-project
gcloud --project=${PROJECT_ID} services enable \
    container.googleapis.com \
    containerregistry.googleapis.com \
    binaryauthorization.googleapis.com

Deploy GKE cluster

  1. You can create a GKE cluster by specifying the machine type and disk size as follows:

CKF suggests at least 4 cores, 32G RAM and 50G of disk for the cluster machines. Therefore, you can use the n1-standard-16 machine type for your cluster. The n1-standard-8 might be enough for testing purposes.

gcloud container clusters create --binauthz-evaluation-mode=PROJECT_SINGLETON_POLICY_ENFORCE --zone us-central1-a --machine-type n1-standard-16 --disk-size=100G test-cluster
  1. After your cluster is created, save the credentials to be used with kubectl:
gcloud container clusters get-credentials --zone us-central1-a test-cluster
kubectl config rename-context gke_test-project_us-central1-a_test-cluster gke-cluster
  1. Bootstrap a Juju controller to the GKE cluster:
/snap/juju/current/bin/juju bootstrap gke-cluster

The command /snap/juju/current/bin/juju is currently used as a workaround for a bug.

Deploy CKF

To deploy CKF and access its dashboard, follow the steps provided in the general installation guide from creating the kubeflow model section.

Clean up resources

You can clean up allocated resources in Juju and Google Cloud as follows:

juju destroy-model kubeflow --destroy-storage
gcloud container clusters delete test-cluster --zone us-central1-a

Last updated 11 days ago.