Configure Kubeflow Fairing with Access to GCP
Configuring your Kubeflow Fairing development environment to access Kubeflow on GKE
This guide describes how to configure your development environment with accessto Google Cloud Platform (GCP), so you can use Kubeflow Fairing to train ordeploy a model on Kubeflow on Google Kubernetes Engine (GKE).
If you have not installed Kubeflow Fairing, follow the guide to installingKubeflow Fairing before continuing.
Using Kubeflow Fairing with Kubeflow notebooks
The standard Kubeflow notebook images include Kubeflow Fairing and comepreconfigured to run training jobs on your Kubeflow cluster. No additionalconfiguration is required.
If your Kubeflow notebook server was built from a custom Jupyter Docker image,follow the instruction in this guide to configure your notebooks environmentwith access to your Kubeflow environment.
Install and configure the Google Cloud SDK
Follow these instructions to set up the Google Cloud SDK in your localdevelopment environment.
- To check if you have the Google Cloud SDK installed, run the followingcommand:
which gcloud
The response should be something like this:
/usr/bin/gcloud
If you do not have the Google Cloud SDK installed, follow the guide toinstalling the Google Cloud SDK.
- Use
gcloud
to set a default project.
export PROJECT_ID=<your-project-id>
gcloud config set project $PROJECT_ID
- Kubeflow Fairing needs a service account to make API calls to GCP. Therecommended way to provide Fairing with access to thisservice account is to set the
GOOGLE_APPLICATION_CREDENTIALS
environmentvariable. To check for theGOOGLE_APPLICATION_CREDENTIALS
environmentvariable, run the following command:
ls "$GOOGLE_APPLICATION_CREDENTIALS"
The response should be something like this:
/.../.../key.json
If you do not have a service account, then create one and grant it accessto the required roles.
export SA_NAME=<your-sa-name>
gcloud iam service-accounts create $SA_NAME
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member serviceAccount:$SA_NAME@$PROJECT_ID.iam.gserviceaccount.com \
--role 'roles/editor'
Create a key for your service account.
gcloud iam service-accounts keys create ~/key.json \
--iam-account $SA_NAME@$PROJECT_ID.iam.gserviceaccount.com
Create the GOOGLE_APPLICATION_CREDENTIALS
environment variable.
export GOOGLE_APPLICATION_CREDENTIALS=~/key.json
Configure Docker with access to Container Registry
Authorize Docker to access your GCP Container Registry.
gcloud auth configure-docker
Configure access to your Kubeflow cluster
Use the following instructions to update your kubeconfig
with credentialsand endpoint information for your Kubeflow cluster. If you do not have aKubeflow cluster, follow the guide to deploying Kubeflow onGKE to set one up.
- To find your cluster’s name, run the following command to list theclusters in your project:
gcloud container clusters list
- Update the following command with your cluster’s name and GCP zone. Then,run the command to update your
kubeconfig
to provide it with credentialsto access this cluster.
export CLUSTER_NAME=kubeflow
export ZONE=us-central1-a
gcloud container clusters get-credentials $CLUSTER_NAME --region $ZONE
Next steps
- Follow the GCP samples and tutorials to learn more about how to runtraining jobs remotely on GCP with Kubeflow Fairing.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified 02.06.2019: Adds Fairing guides to install and configure (#718) (8b31fb06)