Created
December 16, 2018 23:29
-
-
Save b0noI/147293522cf6d00a9c57a284abcd1ca6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # usage: start_dlvm_for_user tf-latest-cpu [email protected] my-awesome-instance my-project us-west1-b | |
| function start_dlvm_for_user() { | |
| export IMAGE_FAMILY=$1 | |
| export USER_GOOGLE_ACCOUNT_MAIL=$2 | |
| export INSTANCE_NAME=$3 | |
| export PROJECT_ID=$4 | |
| export ZONE=$5 | |
| export INSTANCE_TYPE="n1-standard-8" | |
| SERVICE_ACCOUNT_NAME="${INSTANCE_NAME}-sa" | |
| gcloud iam service-accounts create "${SERVICE_ACCOUNT_NAME}" | |
| gcloud iam service-accounts add-iam-policy-binding \ | |
| "${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com" \ | |
| --member="user:${USER_GOOGLE_ACCOUNT_MAIL}" --role="roles/iam.serviceAccountUser" | |
| # Replace osAdminLogin with osLogin is you do NOT want the user to have an | |
| # ability to act as root. | |
| gcloud projects add-iam-policy-binding ${PROJECT_ID} \ | |
| --member="serviceAccount:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com" \ | |
| --role="roles/compute.osAdminLogin" | |
| gcloud compute instances create $INSTANCE_NAME \ | |
| --zone=$ZONE \ | |
| --image-family=$IMAGE_FAMILY \ | |
| --image-project=deeplearning-platform-release \ | |
| --machine-type=$INSTANCE_TYPE \ | |
| --boot-disk-size=120GB \ | |
| --min-cpu-platform=Intel\ Skylake \ | |
| --metadata enable-oslogin=TRUE \ | |
| --service-account ${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment