Tiny Deathstars of Foulness

Over the users I’ve written a good bit about pushing a workload off to a virtual machine sitting in a data center somewhere. The Google CloudPlatform has matured a lot and I haven’t really gotten around to writing about it. So… It’s worth going into their SDK and what it looks like from a shell using some quick examples. For starters, you’ll need an account with Google Cloud Platform, at and you’ll want to go ahead and login to the interface, which is pretty self-explanatory (although at first you might have to hunt a little for some of the more finely grained features, like zoning virtual instances.


The SDK will include the gcloud command, which you’ll use to perform most tasks in the Google CloudPlatform. To install the SDK, go to and download the appropriate version for your computer. If you’re on a mac, most likely the x86_64 version. Next, move the downloaded folder to a permanent location and run the inside it, which will kindly offer to add gcloud to your path. ./
Welcome to the Google Cloud SDK! To help improve the quality of this product, we collect anonymized usage data and anonymized stacktraces when crashes are encountered; additional information is available at <>. You may choose to opt out of this collection now (by choosing ‘N’ at the below prompt), or at any time in the future by running the following command: gcloud config set disable_usage_reporting true Do you want to help improve the Google Cloud SDK (Y/n)?  y Modify profile to update your $PATH and enable shell command completion? Do you want to continue (Y/n)?  y The Google Cloud SDK installer will now prompt you to update an rc file to bring the Google Cloud CLIs into your environment. Enter a path to an rc file to update, or leave blank to use [/Users/charlesedge/.bash_profile]: Backing up [/Users/charlesedge/.bash_profile] to [/Users/charlesedge/.bash_profile.backup]. [/Users/charlesedge/.bash_profile] has been updated. ==> Start a new shell for the changes to take effect. For more information on how to get started, please visit:
Inside that bin folder, you’ll find the gcloud python script, which once installed, you can then run. Next, you’ll need to run the init, which links it to your CloudPlatform account via oauth. To do so, run gcloud with the init verb, which will step you through the process: gcloud init
Welcome! This command will take you through the configuration of gcloud. Your current configuration has been set to: [default] You can skip diagnostics next time by using the following flag: gcloud init –skip-diagnostics Network diagnostic detects and fixes local network connection issues. Checking network connection…done. Reachability Check passed. Network diagnostic (1/1 checks) passed. You must log in to continue. Would you like to log in (Y/n)? y
If you say yes in the above screen, your browser will then prompt you with a standard Google oauth screen where you’ll need to click Allow. Now go back to Terminal and pick a “Project” (when you set up billing the default was created for you):
Pick cloud project to use: [1] seventh-capsule-138123 [2] Create a new project Please enter numeric choice or text value (must exactly match list item): 1

The Command Line

Next, we’re gonna’ create a VM. There are several tables that lay out machine types. Let’s start by listing any instances we might have: gcloud compute instances list
Listed 0 items.
Note: If you have a lot of these you can use  --regexp to filter them quickly. Then let’s pick a machine type. A description of machine types can be found at And an image. Images can be seen using the compute command with images and then list, as follows: gcloud compute images list Now, let’s use that table from earlier and make a custom machine using an ubuntu uri, a –custom-cpu and a –custom-memory: gcloud compute instances create krypted1 –image –custom-cpu 2 –custom-memory 5 You’ll then see that your VM is up, running, and… has an IP:
Now let’s SSH in: gcloud compute ssh krypted1 This creates ssh keys, adds you to the hosts and SSH’s you into a machine. So viola. You’re done. Oh wait, you don’t want to leave it running forever. After all, you’re paying by the minute… So let’s list your instances: gcloud compute instances list Then let’s stop the one we just created: gcloud compute instances stop krypted1 And if you’d like, tear it down: gcloud compute instances delete krypted1 Overall, super logical, very easy to use, and lovely command line environment. Fast, highly configurable VMs. Fun times!

May 18th, 2017

Posted In: cloud, Mac OS X, Ubuntu, Unix

Tags: , , , , , , ,