- Lab
-
Libraries: If you want this lab, consider one of these libraries.
- Cloud
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!
Lab Info
Table of Contents
-
Challenge
Create a ConfigMap to Store an `haproxy` Config File
Create a ConfigMap called
haproxy-configin thedefaultNamespace to store thehaproxyconfiguration for anhaproxyambassador 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
defaultNamespace, there is a Service calledapi-svc. This Service serves an API that is accessed by theclientPod.Change the Service's exposed port to
8181. This will temporarily break theclientPod'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
defaultNamespace, there is a Pod calledclient. This Pod should be unable to reach theapi-svcService since the Service's port was changed. Fix this issue by adding an ambassador container to theclientPod 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
maincontainer so that it reaches out tolocalhostinstead ofapi-svc. Do not change the port number that is used within this command.Add an haproxy ambassador container to the
clientPod using thehaproxy:2.4image. Mount thehaproxy-configConfigMap 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
maincontainer should be able to contact theapi-svcsuccessfully again. You can check the container's logs withkubectl logs client -c main.
About the author
Real skill practice before real-world application
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.
Learn by doing
Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.
Follow your guide
All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.
Turn time into mastery
On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.