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

30 minutes
  • 2 Learning Objectives

About this Hands-on Lab

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!

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Create a Blue/Green Setup for an Existing Deployment

Create a blue/green Deployment setup for the existing web-frontend Deployment in the bluegreen Namespace.

You can find a Deployment manifest for web-frontend on the CLI server at /home/cloud_user/bluegreen/web-frontend.yml. Feel free to copy this manifest in order to create your green Deployment.

Give the green Deployment the name web-frontend-green and set the env label to green in the Pod template.

Once you have created the green Deployment and verified that it is working, modify the web-frontend-svc Service so that it points only to the new green Deployment’s Pods. This is a NodePort Service, and you can test it by reaching out to port 30081 on any of the cluster nodes, for example: curl k8s-control:30081.

Create a Canary Setup for an Existing Deployment

Create a canary Deployment setup for the existing auth Deployment in the canary Namespace.

There is a manifest file for the existing Deployment at /home/cloud_user/canary/auth.yml. You can copy this file to create your canary Deployment.

Give the canary Deployment the name auth-canary, and set the env label in the Pod template to canary.

There is a Service called auth-svc, also in the canary Namespace. Modify this Service to direct traffic to both the main and canary Deployments. Configure your setup so that there will be 4 total replicas, including both the main Deployment and the canary Deployment, and so that approximately 25% of traffic will go to the canary Pod(s). Note that you may need to modify the original main Deployment in order to accomplish this.

The Service is a NodePort Service, and you can test it by reaching out to port 30082 on any of the cluster nodes, for example: curl k8s-control:30082.

Additional Resources

Use the provided environment to complete the tasks detailed in the learning objectives.

You can access all components of the cluster from the CLI server. The control plane server is k8s-control, and the worker is k8s-worker1. If you need to log in to the control plane server, for example, just use ssh k8s-control from the CLI server.

You can also use kubectl from the CLI server, control plane node, or worker to interact with the cluster. In order to use kubectl from the CLI server, you will need to select the acgk8s cluster to interact with, like so: kubectl config use-context acgk8s.

kubectl is aliased to k, and Kubernetes autocompletion is enabled. You can use the k alias like so: k get pods.

This lab includes a verification script to help you determine whether you have completed the objectives successfully. You can run the verification script with /home/cloud_user/verify.sh.

What are Hands-on Labs

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.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?