Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Labs

Deploying GKE Rolling Updates

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.

Labs

Path Info

Level
Clock icon Intermediate
Duration
Clock icon 30m
Published
Clock icon Apr 09, 2021

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Create the GKE Cluster

    Notes:

    • 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. Click SWITCH TO STANDARD CLUSTER and under USE A SETUP GUIDE, click My first cluster.
    4. Click CREATE NOW. The cluster will take a few minutes to create.
  2. Challenge

    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/quickstarts/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.
  3. Challenge

    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.

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

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.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans