arrow_back

Google Cloud Fundamentals: Getting Started with GKE (Azure)

Sign in Join
Get access to 700+ labs and courses

Google Cloud Fundamentals: Getting Started with GKE (Azure)

Lab 35 minutes universal_currency_alt 5 Credits show_chart Introductory
info This lab may incorporate AI tools to support your learning.
Get access to 700+ labs and courses

As a cloud architect, your designs for multi-tier architectures include the compute layer. In general, you deploy containers to satisfy your organization's computational needs. Some of your considerations as you complete your designs include the following:

  • How can you deploy containers and manage them centrally using Kubernetes?
  • How can you group your containers in clusters?
  • How to ensure that your clusters are optimized for performance and efficiency?

In Azure, you create a new virtual network or choose an existing one to use for the cluster. You deploy the containers to the Azure Kubernetes Services (AKS) cluster and create a Kubernetes deployment YAML file. To make it highly available, you launch the Kubernetes service YAML file that specifies the load balancer type and the port mappings for the containers.

You use the monitor to verify the deployment, identify any problems, and set up the alerts according to requirements.

Now you will explore how to set up the GKE cluster and use a load balancer to manage traffic.

Overview

In this lab, you create a Google Kubernetes Engine cluster containing several containers, each containing a web server. You place a load balancer in front of the cluster and view its contents.

Objectives

In this lab, you learn how to perform the following tasks:

Task 1. Sign in to the Google Cloud

For each lab, you get a new Google Cloud project and set of resources for a fixed time at no cost.

  1. Sign in to Qwiklabs using an incognito window.

  2. Note the lab's access time (for example, 1:15:00), and make sure you can finish within that time.
    There is no pause feature. You can restart if needed, but you have to start at the beginning.

  3. When ready, click Start lab.

  4. Note your lab credentials (Username and Password). You will use them to sign in to the Google Cloud Console.

  5. Click Open Google Console.

  6. Click Use another account and copy/paste credentials for this lab into the prompts.
    If you use other credentials, you'll receive errors or incur charges.

  7. Accept the terms and skip the recovery resource page.

Task 2. Confirm that needed APIs are enabled

  1. Make a note of the name of your Google Cloud project. This value is shown in the top bar of the Google Cloud Console. It will be of the form qwiklabs-gcp- followed by hexadecimal numbers.

  2. In the Google Cloud Console, on the Navigation menu (), click APIs & Services.

  3. Scroll down in the list of enabled APIs, and confirm that both of these APIs are enabled:

  • Kubernetes Engine API

If either API is missing, click Enable APIs and Services at the top. Search for the above APIs by name and enable each for your current project. (You noted the name of your GCP project above.)

Task 3. Start a Kubernetes Engine cluster

  1. In Google CLoud console, on the top right toolbar, click the Activate Cloud Shell button.

  2. Click Continue.

  3. At the Cloud Shell prompt, type the following command to export the environment variable called MY_ZONE.

    export MY_ZONE={{{project_0.default_zone|ZONE}}}
  4. Start a Kubernetes cluster managed by Kubernetes Engine. Name the cluster webfrontend and configure it to run 2 nodes:

    gcloud container clusters create webfrontend --zone $MY_ZONE --num-nodes 2

    It takes several minutes to create a cluster as Kubernetes Engine provisions virtual machines for you.

  5. After the cluster is created, check your installed version of Kubernetes using the kubectl version command:

    kubectl version

    The gcloud container clusters create command automatically authenticated kubectl for you.

  6. View your running nodes in the GCP Console. On the Navigation menu (), click Compute Engine > VM Instances.

    Your Kubernetes cluster is now ready for use.

    Click Check my progress to verify the objective. Start a Kubernetes Engine cluster

Task 4. Run and deploy a container

  1. From your Cloud Shell prompt, launch a single instance of the nginx container. (Nginx is a popular web server.)

    kubectl create deploy nginx --image=nginx:1.17.10

    In Kubernetes, all containers run in pods. This use of the kubectl create command caused Kubernetes to create a deployment consisting of a single pod containing the nginx container. A Kubernetes deployment keeps a given number of pods up and running even in the event of failures among the nodes on which they run. In this command, you launched the default number of pods, which is 1.

Note: If you see any deprecation warning about future versions, you can simply ignore it for now and can proceed further.
  1. View the pod running the nginx container:

    kubectl get pods
  2. Expose the nginx container to the Internet:

    kubectl expose deployment nginx --port 80 --type LoadBalancer

    Kubernetes created a service and an external load balancer with a public IP address attached to it. The IP address remains the same for the life of the service. Any network traffic to that public IP address is routed to pods behind the service: in this case, the nginx pod.

  3. View the new service:

    kubectl get services

    You can use the displayed external IP address to test and contact the nginx container remotely.

    It may take a few seconds before the External-IP field is populated for your service. This is normal. Just re-run the kubectl get services command every few seconds until the field is populated.

  4. Open a new web browser tab and paste your cluster's external IP address into the address bar. The default home page of the Nginx browser is displayed.

  5. Scale up the number of pods running on your service:

    kubectl scale deployment nginx --replicas 3

    Scaling up a deployment is useful when you want to increase available resources for an application that is becoming more popular.

  6. Confirm that Kubernetes has updated the number of pods:

    kubectl get pods
  7. Confirm that your external IP address has not changed:

    kubectl get services
  8. Return to the web browser tab in which you viewed your cluster's external IP address. Refresh the page to confirm that the nginx web server is still responding.

Click Check my progress to verify the objective. Run and deploy a container

Congratulations!

In this lab, you configured a Kubernetes cluster in Kubernetes Engine. You populated the cluster with several pods containing an application, exposed the application, and scaled the application.

Because Kubernetes is open source, this containerized environment has high portability and adaptability. Thus, deploying Kubernetes is similar across all platforms.

Here is a recap of the similarities and differences between these services:

Similarities:

  • AKS and GKE are both managed Kubernetes services that allow customers to deploy, manage, and scale containerized applications in the cloud.
  • Both Google Cloud and Azure offer the Kubernetes service as a Platform as a Service (PaaS).
  • GKE and AKS can use YAML files for deployments.
  • Both GKE and AKS apply the same principles for containers and deployments to populate a cluster.
  • Both GKE and AKS can use kubectl to deploy and manage Docker containers.

Differences:

  • There are relatively no differences between GKE and AKS regarding the implementation of Kubernetes. The differences occur in the provisioning of the infrastructure and management of the service.
  • Google GKE offers a feature called GKE Autopilot, which provides a fully managed and optimized Kubernetes experience without the need for users to manage the underlying infrastructure. Autopilot is beyond the scope of this course. You can learn more here.

End your lab

When you have completed your lab, click End Lab. Google Cloud Skills Boost removes the resources you’ve used and cleans the account for you.

You will be given an opportunity to rate the lab experience. Select the applicable number of stars, type a comment, and then click Submit.

The number of stars indicates the following:

  • 1 star = Very dissatisfied
  • 2 stars = Dissatisfied
  • 3 stars = Neutral
  • 4 stars = Satisfied
  • 5 stars = Very satisfied

You can close the dialog box if you don't want to provide feedback.

For feedback, suggestions, or corrections, please use the Support tab.

Copyright 2022 Google LLC All rights reserved. Google and the Google logo are trademarks of Google LLC. All other company and product names may be trademarks of the respective companies with which they are associated.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.