- Lab
- A Cloud Guru
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.
Path Info
Table of Contents
-
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 runkubectl
commands, you can ignoreWARNING: 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.
- From the GCP menu, select Kubernetes Engine.
- Wait for the API to be enabled. Then click Create cluster.
- Click SWITCH TO STANDARD CLUSTER and under USE A SETUP GUIDE, click My first cluster.
- Click CREATE NOW. The cluster will take a few minutes to create.
- If the default zone
-
Challenge
Deploy the Hello World Application
- From the GCP clusters page, click Connect on your new cluster and select Run in Cloud Shell.
- When the Cloud Shell has spawned, hit Return to run the command.
- If prompted, click Authorize.
- Clone the
kubernetes-engine-samples
repo from GitHub. - From the
kubernetes-engine-samples/quickstarts/hello-app/manifests
directory, create the initial deployment. - Remove the placeholder text from the service YAML.
- Create the service.
- After a few minutes, an external IP should be provisioned for your Load Balancer. View the service and external IP.
- Open the external IP in a browser tab to confirm the deployment is working.
-
Challenge
Perform a Rolling Update and a Rollback
- Update the application to version 2 by dynamically setting a new image in the deployment.
- Reload the browser window to observe that the app has been updated to version 2.
- Confirm the rollout.
- At the demand of management, roll back to the much more successful previous version of the app.
- View the history of all revisions for this deployment.
- Because management has decided to go with version 2 after all, use the revision history to roll back to the updated deployment.
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.