DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • Simplify Your Compliance With Google Cloud Assured Workloads
  • Simplifying Multi-Cloud Observability With Open Source
  • Mastering Multi-Cloud and Edge Data Synchronization: A Retail Use Case With KubeMQ’s Java SDK
  • How To Build Translate Solutions With Google Cloud Translate AI

Trending

  • AWS to Azure Migration: A Cloudy Journey of Challenges and Triumphs
  • How Trustworthy Is Big Data?
  • Beyond Code Coverage: A Risk-Driven Revolution in Software Testing With Machine Learning
  • FIPS 140-3: The Security Standard That Protects Our Federal Data
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. Getting Started with Google Cloud SDK

Getting Started with Google Cloud SDK

Learn to set up Google Cloud SDK on your workstation and some operations in this step-by-step guide.

By 
Pradeep Bhadani user avatar
Pradeep Bhadani
·
May. 21, 20 · Tutorial
Likes (2)
Comment
Save
Tweet
Share
7.4K Views

Join the DZone community and get the full member experience.

Join For Free

article image

What is Cloud SDK?

The Cloud SDK is a collection of tools to interact with the Google Cloud Platform (GCP). It includes bq, kubectl, gcloud and gsutil command-line tools that can interact with various GCP Services using CLI or in automation scripts. For example, it can:

  • Create/manage a Google Cloud Storage (GCS) bucket. 
  • Create/manage Google Compute Engine (GCE) instance. 
  • Create/manage Google Datalab. 
  • Create a BigQuery Dataset. 
  • Submit a job to BigQuery. 
  • Create/manage firewall rules.

Let’s Get It Up And Running

Google provides a script to download and install the Cloud SDK quickly and interactively.

Install Google Cloud SDK

1. Run the following command in your terminal.

  $> curl https://sdk.cloud.google.com | bash


This will download the Cloud SDK package and run the installation script.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
  100   443  100   443    0     0   3475      0 --:--:-- --:--:-- --:--:--  3488
  Downloading Google Cloud SDK install script: https://dl.google.com/dl/cloudsdk/channels/rapid/install_google_cloud_sdk.bash
  ######################################################################## 100.0%
  Running install script from: /tmp/tmp.GZI3OtObH9/install_google_cloud_sdk.bash
  which curl
  curl -# -f https://dl.google.com/dl/cloudsdk/channels/rapid/google-cloud-sdk.tar.gz
  ######################################################################## 100.0%


2. Provide the directory path on prompt.

  Installation directory (this will create a google-cloud-sdk subdirectory) (/home/vagrant):


3. Once you provide the directory, the script will prompt for reporting. Choose one of the options.

  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 <https://cloud.google.com/sdk/usage-statistics>. This data is handled in accordance with our privacy policy <https://policies.google.com/privacy>. You may choose to opt in this collection now (by choosing 'Y' at the below prompt), or at any time in the future by running the following command:

  gcloud config set disable_usage_reporting false

  Do you want to help improve the Google Cloud SDK (y/N)?


4. This will start installing the package and ask to update the $PATH and enable the auto-complete feature.

  This will install all the core command line tools necessary for working with the Google Cloud Platform.

  Your current Cloud SDK version is: 272.0.0
  Installing components from version: 272.0.0

  ┌────────────────────────────────────────────────────────────────────────────┐
  │                    These components will be installed.                     │
  ├─────────────────────────────────────────────────────┬────────────┬─────────┤
  │                         Name                        │  Version   │   Size  │
  ├─────────────────────────────────────────────────────┼────────────┼─────────┤
  │ BigQuery Command Line Tool                          │     2.0.50 │ < 1 MiB │
  │ BigQuery Command Line Tool (Platform Specific)      │     2.0.50 │ < 1 MiB │
  │ Cloud SDK Core Libraries (Platform Specific)        │ 2019.11.08 │ < 1 MiB │
  │ Cloud Storage Command Line Tool                     │       4.46 │ 3.6 MiB │
  │ Cloud Storage Command Line Tool (Platform Specific) │       4.46 │ < 1 MiB │
  │ Default set of gcloud commands                      │            │         │
  │ gcloud cli dependencies                             │ 2018.08.03 │ 8.6 MiB │
  └─────────────────────────────────────────────────────┴────────────┴─────────┘

  For the latest full release notes, please visit:
    https://cloud.google.com/sdk/release_notes

  ╔════════════════════════════════════════════════════════════╗
  ╠═ Creating update staging area                             ═╣
  ╠════════════════════════════════════════════════════════════╣
  ╠═ Installing: BigQuery Command Line Tool                   ═╣
  ╠════════════════════════════════════════════════════════════╣
  ╠═ Installing: BigQuery Command Line Tool (Platform Spec... ═╣
  ╠════════════════════════════════════════════════════════════╣
  ╠═ Installing: Cloud SDK Core Libraries (Platform Specific) ═╣
  ╠════════════════════════════════════════════════════════════╣
  ╠═ Installing: Cloud Storage Command Line Tool              ═╣
  ╠════════════════════════════════════════════════════════════╣
  ╠═ Installing: Cloud Storage Command Line Tool (Platform... ═╣
  ╠════════════════════════════════════════════════════════════╣
  ╠═ Installing: Default set of gcloud commands               ═╣
  ╠════════════════════════════════════════════════════════════╣
  ╠═ Installing: gcloud cli dependencies                      ═╣
  ╠════════════════════════════════════════════════════════════╣
  ╠═ Creating backup and activating new installation          ═╣
  ╚════════════════════════════════════════════════════════════╝

  Performing post processing steps...done.

  Update done!

  Modify profile to update your $PATH and enable shell command
  completion?

  Do you want to continue (Y/n)? Y


5. Provide the bashrc path.

  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
  [/home/vagrant/.bashrc]:


6. Now, open a new terminal or reload the current session by running below command.

  $> exec -l $SHELL


7. Verify installation.

  $> gcloud version


This should list the current version of gcloud utility.

  Google Cloud SDK 272.0.0
  bq 2.0.50
  core 2019.11.16
  gsutil 4.46


8. The above script only installs core packages and we can list all the available packages.

  $> gcloud components list
  Your current Cloud SDK version is: 272.0.0
  The latest available version is: 272.0.0

  ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
  │                                                 Components                                                 │
  ├───────────────┬──────────────────────────────────────────────────────┬──────────────────────────┬──────────┤
  │     Status    │                         Name                         │            ID            │   Size   │
  ├───────────────┼──────────────────────────────────────────────────────┼──────────────────────────┼──────────┤
  │ Not Installed │ App Engine Go Extensions                             │ app-engine-go            │  4.9 MiB │
  │ Not Installed │ Appctl                                               │ appctl                   │ 21.0 MiB │
  │ Not Installed │ Cloud Bigtable Command Line Tool                     │ cbt                      │  7.5 MiB │
  │ Not Installed │ Cloud Bigtable Emulator                              │ bigtable                 │  6.6 MiB │
  │ Not Installed │ Cloud Datalab Command Line Tool                      │ datalab                  │  < 1 MiB │
  │ Not Installed │ Cloud Datastore Emulator                             │ cloud-datastore-emulator │ 18.4 MiB │
  │ Not Installed │ Cloud Firestore Emulator                             │ cloud-firestore-emulator │ 40.0 MiB │
  │ Not Installed │ Cloud Pub/Sub Emulator                               │ pubsub-emulator          │ 34.9 MiB │
  │ Not Installed │ Cloud SQL Proxy                                      │ cloud_sql_proxy          │  3.8 MiB │
  │ Not Installed │ Emulator Reverse Proxy                               │ emulator-reverse-proxy   │ 14.5 MiB │
  │ Not Installed │ Google Cloud Build Local Builder                     │ cloud-build-local        │  6.0 MiB │
  │ Not Installed │ Google Container Registry's Docker credential helper │ docker-credential-gcr    │  1.8 MiB │
  │ Not Installed │ Skaffold                                             │ skaffold                 │ 22.1 MiB │
  │ Not Installed │ gcloud Alpha Commands                                │ alpha                    │  < 1 MiB │
  │ Not Installed │ gcloud Beta Commands                                 │ beta                     │  < 1 MiB │
  │ Not Installed │ gcloud app Java Extensions                           │ app-engine-java          │ 62.0 MiB │
  │ Not Installed │ gcloud app PHP Extensions                            │ app-engine-php           │          │
  │ Not Installed │ gcloud app Python Extensions                         │ app-engine-python        │  6.0 MiB │
  │ Not Installed │ gcloud app Python Extensions (Extra Libraries)       │ app-engine-python-extras │ 27.1 MiB │
  │ Not Installed │ kubectl                                              │ kubectl                  │  < 1 MiB │
  │ Installed     │ BigQuery Command Line Tool                           │ bq                       │  < 1 MiB │
  │ Installed     │ Cloud SDK Core Libraries                             │ core                     │ 12.5 MiB │
  │ Installed     │ Cloud Storage Command Line Tool                      │ gsutil                   │  3.6 MiB │
  └───────────────┴──────────────────────────────────────────────────────┴──────────────────────────┴──────────┘
  To install or remove components at your current SDK version [272.0.0], run:
    $ gcloud components install COMPONENT_ID
    $ gcloud components remove COMPONENT_ID

  To update your SDK installation to the latest version [272.0.0], run:
    $ gcloud components update


9. Install additional component, for e.g. kubectl

  $> gcloud components install kubectl


10. To install, beta functionality

  $> gcloud components install beta

Initialize Google Cloud SDK

Now, to interact with GCP services, we must initialize SDK and set up authentication.

1. Initialize the SDK.

  $> gcloud init


2. Accept to login to your Google account.

  To continue, you must login. Would you like to log in (Y/n)? Y


3. This will open your browser and prompt for permissions. Log in with your Google account credentials and Allow.

4. Select the preferred project and zone.

5. You should now see the following message for successful initialization.

  gcloud has now been configured!
  You can use [gcloud config] to change more gcloud settings.

  Your active configuration is: [default]


6. Verify initialization.

  $> gcloud auth list

This will display the active account.

Now let's do something with gcloud.

Google Cloud Storage (GCS) Bucket Operations

1. Create a GCS Bucket

  $> gsutil mb gs://my-bucket-34678945/


2. Create a file locally and upload to GCS Bucket.

  $> echo "Hello GCS" > hello-gcs.txt
  $> gsutil cp hello-gcs.txt gs://my-bucket-34678945/


3. List objects in a GCS Bucket.

  $> gsutil ls -r gs://my-bucket-34678945/


4. Get the GCS Bucket size.

  $> gsutil du -sh gs://my-bucket-34678945/


5. Delete a GCS Bucket.

warning: Following command deletes all the objects stored in the specified bucket and cannot be recovered.

  $> gsutil rm -r gs://my-bucket-34678945

Google Compute Engine (GCE) Operation

1. Create a VM instance.

  $> gcloud compute instances create my-instance


This will create a VM instance will default configuration.
The output will be similar as below:

  Created [https://www.googleapis.com/compute/v1/projects/your-project-id/zones/europe-west1-d/instances/my-instance].
  NAME         ZONE            MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
  my-instance  europe-west1-d  n1-standard-1               10.132.0.3   IP.IP.IP.IP  RUNNING


2. Update the VM instance and add some labels.

  $> gcloud compute instances update my-instance \
        --update-labels=key1=value1,key2=value2


3. Delete a VM instance.

  $> gcloud compute instances delete my-instance


Below is the terminal recording:


To revoke gcloud access from terminal:

  $> gcloud auth revoke


I hope this blog helps you get familiar with Google Cloud SDK.

If you have feedback or questions, please reach out to me on LinkedIn or Twitter.

Software development kit Google (verb) Cloud

Published at DZone with permission of Pradeep Bhadani. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Simplify Your Compliance With Google Cloud Assured Workloads
  • Simplifying Multi-Cloud Observability With Open Source
  • Mastering Multi-Cloud and Edge Data Synchronization: A Retail Use Case With KubeMQ’s Java SDK
  • How To Build Translate Solutions With Google Cloud Translate AI

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!