{"id":17255386,"url":"https://github.com/krisnova/kubeflow-with-heptio","last_synced_at":"2026-01-06T14:04:44.917Z","repository":{"id":66662648,"uuid":"130269719","full_name":"krisnova/kubeflow-with-heptio","owner":"krisnova","description":"Working repository for our presentation on running Kubeflow with Heptio tools on the backend","archived":false,"fork":false,"pushed_at":"2018-04-19T21:31:09.000Z","size":2,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T09:31:45.184Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krisnova.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-19T20:34:39.000Z","updated_at":"2020-11-16T16:19:42.000Z","dependencies_parsed_at":"2023-02-21T12:15:34.678Z","dependency_job_id":null,"html_url":"https://github.com/krisnova/kubeflow-with-heptio","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krisnova%2Fkubeflow-with-heptio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krisnova%2Fkubeflow-with-heptio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krisnova%2Fkubeflow-with-heptio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krisnova%2Fkubeflow-with-heptio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krisnova","download_url":"https://codeload.github.com/krisnova/kubeflow-with-heptio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245615010,"owners_count":20644376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T07:11:32.603Z","updated_at":"2026-01-06T14:04:44.849Z","avatar_url":"https://github.com/krisnova.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# kubeflow-with-heptio\nWorking repository for our presentation on running Kubeflow with Heptio tools on the backend\n\n# Setup gcloud\n```\nexport CLOUD_SDK_REPO=\"cloud-sdk-$(lsb_release -c -s)\"\necho \"deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main\" |\\\nsudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list\ncurl https://packages.cloud.google.com/apt/doc/apt-key.gpg |\\\nsudo apt-key add -\nsudo apt-get update \u0026\u0026 sudo apt-get install google-cloud-sdk kubectl\n```\n\n# Check to make sure it’s installed and up to date.\n```\ngcloud --version\n```\n\n# A bunch of GCP Setup Variables\n```\nexport PROJECT_ID=ce-tpu-training\nexport SUBNETWORK_NAME=tpu-subnetwork\nexport CLUSTER_NAME=kubeflow-demo\nexport NAMESPACE=kubeflow\nexport EMAIL=$(gcloud iam service-accounts list \\\n    --filter=\"displayName:cloud-endpoints-controller\" \\\n    --format='value(email)')\nexport BUCKET_NAME=kubeflow-data-bucket\ngcloud config set project $PROJECT_ID\ngcloud config set compute/zone us-central1-c\ngcloud config set container/use_v1_api_client false\n```\n# Create service accounts\n# IAM\n```\ngcloud iam service-accounts create ${SVC_ACCT} --display-name=${SVC_ACCT}\n```\n\n# Grant cluster admin role\n```\ngcloud projects add-iam-policy-binding ${PROJECT_ID} --member=serviceAccount:${SVC_ACCT}@${PROJECT_ID}.iam.gserviceaccount.com --role=roles/container.clusterAdmin\n```\n# Grant service account actor role\n```\ngcloud projects add-iam-policy-binding ${PROJECT_ID} --member=serviceAccount:${SVC_ACCT}@${PROJECT_ID}.iam.gserviceaccount.com --role=roles/iam.serviceAccountActor\n\ngcloud iam service-accounts keys create /tmp/${SVC_ACCT}_key.json --iam-account=${SVC_ACCT}@${PROJECT_ID}.iam.gserviceaccount.com\ngcloud auth activate-service-account ${SVC_ACCT}@${PROJECT_ID}.iam.gserviceaccount.com --key-file=/tmp/${SVC_ACCT}_key.json\n```\n\n# Create the cluster\n# For TPUs\n```\ngcloud alpha container clusters create keynote_cluster \\\n--enable-kubernetes-alpha \\\n--zone=us-central1-c \\\n--num-nodes=3 \\\n--machine-type=n1-standard-4 \\\n--enable-ip-alias \\\n--create-subnetwork name=$SUBNET_NAME \\\n--scopes=cloud-platform \\ \n--enable-tpu\n```\n\n# For GPUs\n```\ngcloud beta container clusters create ${CLUSTER_NAME}-gpu \\\n     --accelerator type=nvidia-tesla-p100,count=4 \\\n     --zone us-central1-c \\\n     --cluster-version 1.9.3 \\\n\t--num-nodes=3 \\\n\t--machine-type=n1-standard-4\n```\n\n# ***************** Below for GPUs only **************\n# Install device drivers for GPU on the cluster nodes\n```\nkubectl create -f https://raw.githubusercontent.com/GoogleCloudPlatform/container-engine-accelerators/k8s-1.9/nvidia-driver-installer/cos/daemonset-preloaded.yaml\n```\n\n# Setup RBAC\n```\nkubectl create clusterrolebinding cluster-admin-binding \\\n--clusterrole cluster-admin --user $(gcloud config get-value account)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrisnova%2Fkubeflow-with-heptio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrisnova%2Fkubeflow-with-heptio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrisnova%2Fkubeflow-with-heptio/lists"}