Deploying GKE Rolling Updates

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

In this lab, you will be tasked with deploying a containerized web app for Helloly, a brand new internet start-up that specialises in saying “Hello world!” as a service. To keep investors happy, you will quickly deploy version 1.0 of the app, using GKE best practices. Soon after, the dev team will ask you to perform a rolling update to version 2.0 of Helloly. However, this version will perform poorly in focus groups and social media trends, so you must use Kubernetes-native tools to roll back the deployment to the previous version.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create the GKE Cluster


  • If the default zone us-central1-c does not have enough resources available to fulfill the request, try a different zone, e.g. us-east1-c, or try again later.
    • GKE v1.25 uses a new kubectl plugin called gke-gcloud-auth-plugin to manage authentication between the client and Google Kubernetes Engine. When you run kubectl commands, you can ignore WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead messages as they will not impact the outcomes for this learning activity.

      1. From the GCP menu, select Kubernetes Engine.
      2. Wait for the API to be enabled. Then click Create cluster.
      3. Under Cluster set-up guides, click My first cluster.
      4. Click Create Now. The cluster will take a few minutes to create.
Deploy the Hello World Application
  1. From the GCP clusters page, click Connect on your new cluster and select Run in Cloud Shell.
  2. When the Cloud Shell has spawned, hit Return to run the command.
  3. If prompted, click Authorize.
  4. Clone the kubernetes-engine-samples repo from GitHub.
  5. From the kubernetes-engine-samples/hello-app/manifests directory, create the initial deployment.
  6. Remove the placeholder text from the service YAML.
  7. Create the service.
  8. After a few minutes, an external IP should be provisioned for your Load Balancer. View the service and external IP.
  9. Open the external IP in a browser tab to confirm the deployment is working.
Perform a Rolling Update and a Rollback
  1. Update the application to version 2 by dynamically setting a new image in the deployment.
  2. Reload the browser window to observe that the app has been updated to version 2.
  3. Confirm the rollout.
  4. At the demand of management, roll back to the much more successful previous version of the app.
  5. View the history of all revisions for this deployment.
  6. Because management has decided to go with version 2 after all, use the revision history to roll back to the updated deployment.

Additional Resources

To get started, log in to Google Cloud Platform by opening in a private browser window. Then sign in using the credentials provided on the lab page.

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?