CKAD Exam Questions & Answers -
Helm
The DevOps team would like to get the list of all Namespaces in the cluster. Get the list
and save it to /opt/course/1/namespaces. - answerk get ns > /opt/course/1/namespaces
Create a single Pod of image httpd:2.4.41-alpine in Namespace default. The Pod should
be named pod1 and the container should be named pod1-container. - answerk run #
help
# check the export on the very top of this document so we can use $do
k run pod1 --image=httpd:2.4.41-alpine $do > 2.yaml
vim 2.yaml
Change the container name in 2.yaml to pod1-container:
Your manager would like to run a command manually on occasion to output the status
of that exact pod1. Please write a command that does this into /opt/course/2/pod1-
status-command.sh. The command should use kubectl. - answerNext create the
requested command:
vim /opt/course/2/pod1-status-command.sh
The content of the command file could look like:
# /opt/course/2/pod1-status-command.sh
kubectl -n default describe pod pod1 | grep -i status:
To test the command:
➜ sh /opt/course/2/pod1-status-command.sh
Running
Team Neptune needs a Job template located at /opt/course/3/job.yaml. This Job should
run image busybox:1.31.0 and execute
sleep 2 && echo done.
It should be in namespace neptune, run a total of 3 times and should execute 2 runs in
parallel. - answerk -n neptun create job -h
, # check the export on the very top of this document so we can use $do
k -n neptune create job neb-new-job --image=busybox:1.31.0 $do >
/opt/course/3/job.yaml -- sh -c "sleep 2 && echo done"
vim /opt/course/3/job.yaml
make the required changes in the yaml:
Then to create it:
k -f /opt/course/3/job.yaml create
# namespace already set in yaml
Start the Job and check its history. Each pod created by the Job should have the label
id: awesome-job. The job should be named neb-new-job and the container neb-new-
job-container. - answerCheck Job and Pods, you should see two running parallel at
most but three in total:
k -n neptune get pod,job | grep neb-new-job
Check job history:
k -n neptune describe job neb-new-job
Team Mercury asked you to perform some operations using Helm, all in Namespace
mercury:
Delete release internal-issue-report-apiv1 - answerFirst we should delete the required
release:
helm -n mercury ls
➜ helm -n mercury ls
NAME NAMESPACE STATUS CHART APP VERSION
internal-issue-report-apiv1 mercury deployed nginx-9.5.0 1.21.1
internal-issue-report-apiv2 mercury deployed nginx-9.5.0 1.21.1
internal-issue-report-app mercury deployed nginx-9.5.0 1.21.1
helm -n mercury uninstall internal-issue-report-apiv1
release "internal-issue-report-apiv1" uninstalled
➜ helm -n mercury ls
NAME NAMESPACE STATUS CHART APP VERSION
internal-issue-report-apiv2 mercury deployed nginx-9.5.0 1.21.1
internal-issue-report-app mercury deployed nginx-9.5.0 1.21.1
Helm
The DevOps team would like to get the list of all Namespaces in the cluster. Get the list
and save it to /opt/course/1/namespaces. - answerk get ns > /opt/course/1/namespaces
Create a single Pod of image httpd:2.4.41-alpine in Namespace default. The Pod should
be named pod1 and the container should be named pod1-container. - answerk run #
help
# check the export on the very top of this document so we can use $do
k run pod1 --image=httpd:2.4.41-alpine $do > 2.yaml
vim 2.yaml
Change the container name in 2.yaml to pod1-container:
Your manager would like to run a command manually on occasion to output the status
of that exact pod1. Please write a command that does this into /opt/course/2/pod1-
status-command.sh. The command should use kubectl. - answerNext create the
requested command:
vim /opt/course/2/pod1-status-command.sh
The content of the command file could look like:
# /opt/course/2/pod1-status-command.sh
kubectl -n default describe pod pod1 | grep -i status:
To test the command:
➜ sh /opt/course/2/pod1-status-command.sh
Running
Team Neptune needs a Job template located at /opt/course/3/job.yaml. This Job should
run image busybox:1.31.0 and execute
sleep 2 && echo done.
It should be in namespace neptune, run a total of 3 times and should execute 2 runs in
parallel. - answerk -n neptun create job -h
, # check the export on the very top of this document so we can use $do
k -n neptune create job neb-new-job --image=busybox:1.31.0 $do >
/opt/course/3/job.yaml -- sh -c "sleep 2 && echo done"
vim /opt/course/3/job.yaml
make the required changes in the yaml:
Then to create it:
k -f /opt/course/3/job.yaml create
# namespace already set in yaml
Start the Job and check its history. Each pod created by the Job should have the label
id: awesome-job. The job should be named neb-new-job and the container neb-new-
job-container. - answerCheck Job and Pods, you should see two running parallel at
most but three in total:
k -n neptune get pod,job | grep neb-new-job
Check job history:
k -n neptune describe job neb-new-job
Team Mercury asked you to perform some operations using Helm, all in Namespace
mercury:
Delete release internal-issue-report-apiv1 - answerFirst we should delete the required
release:
helm -n mercury ls
➜ helm -n mercury ls
NAME NAMESPACE STATUS CHART APP VERSION
internal-issue-report-apiv1 mercury deployed nginx-9.5.0 1.21.1
internal-issue-report-apiv2 mercury deployed nginx-9.5.0 1.21.1
internal-issue-report-app mercury deployed nginx-9.5.0 1.21.1
helm -n mercury uninstall internal-issue-report-apiv1
release "internal-issue-report-apiv1" uninstalled
➜ helm -n mercury ls
NAME NAMESPACE STATUS CHART APP VERSION
internal-issue-report-apiv2 mercury deployed nginx-9.5.0 1.21.1
internal-issue-report-app mercury deployed nginx-9.5.0 1.21.1