Skip to content

Contact sales

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

Certified Kubernetes Application Developer (CKAD) Practice Exam - Part 11

This lab provides practice scenarios to help prepare you for the Certified Kubernetes Application Developer (CKAD) exam. You will be presented with tasks to complete, as well as server(s) and/or an existing Kubernetes cluster to complete them in. You will need to use your knowledge of Kubernetes to successfully complete the provided tasks, much like you would on the real CKAD exam. Good luck!

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Intermediate
Duration
Clock icon 30m
Published
Clock icon Feb 25, 2022

Contact sales

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

Table of Contents

  1. Challenge

    Create a ConfigMap to Store an `haproxy` Config File

    Create a ConfigMap called haproxy-config in the default Namespace to store the haproxy configuration for an haproxy ambassador container.

    In the ConfigMap, store the following config file in a key called haproxy.cfg:

    frontend ambassador
      bind *:7171
      default_backend api_svc
    backend api_svc
      server svc api-svc:8181
    
  2. Challenge

    Update a Service to Serve on a New Port.

    In the default Namespace, there is a Service called api-svc. This Service serves an API that is accessed by the client Pod.

    Change the Service's exposed port to 8181. This will temporarily break the client Pod's communication with the Service since the client Pod is still using the old port.

  3. Challenge

    Re-configure a Pod to use an haproxy ambassador container.

    In the default Namespace, there is a Pod called client. This Pod should be unable to reach the api-svc Service since the Service's port was changed. Fix this issue by adding an ambassador container to the client Pod that uses haproxy to forward traffic to the Service's new port.

    You can find manifest file for this Pod at /home/cloud_user/client.yml. Note that you may need to delete and re-create the Pod in order to make certain changes.

    First, modify the command of the client Pod's main container so that it reaches out to localhost instead of api-svc. Do not change the port number that is used within this command.

    Add an haproxy ambassador container to the client Pod using the haproxy:2.4 image. Mount the haproxy-config ConfigMap to the ambassador container at /usr/local/etc/haproxy/. This will cause the ConfigMap's haproxy configuration data to configure haproxy in the ambassador container.

    Once this is done, the client Pod's main container should be able to contact the api-svc successfully again. You can check the container's logs with kubectl logs client -c main.

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