- Lab
- A Cloud Guru
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!
Path Info
Table of Contents
-
Challenge
Create a ConfigMap to Store an `haproxy` Config File
Create a ConfigMap called
haproxy-config
in thedefault
Namespace to store thehaproxy
configuration for anhaproxy
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
-
Challenge
Update a Service to Serve on a New Port.
In the
default
Namespace, there is a Service calledapi-svc
. This Service serves an API that is accessed by theclient
Pod.Change the Service's exposed port to
8181
. This will temporarily break theclient
Pod's communication with the Service since the client Pod is still using the old port. -
Challenge
Re-configure a Pod to use an haproxy ambassador container.
In the
default
Namespace, there is a Pod calledclient
. This Pod should be unable to reach theapi-svc
Service since the Service's port was changed. Fix this issue by adding an ambassador container to theclient
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 tolocalhost
instead ofapi-svc
. Do not change the port number that is used within this command.Add an haproxy ambassador container to the
client
Pod using thehaproxy:2.4
image. Mount thehaproxy-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 theapi-svc
successfully again. You can check the container's logs withkubectl logs client -c main
.
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.