The new CKA Certification Exam is aligned with CKAD exam pattern in terms of duration, the number of questions and passing score.
Time management is more critical compare with the old version of CKA exam.
Questions are weightage in three categories like 4%, 7% & 8%. Most of the 4% weightage questions are easy to answer except 1 or 2. However, if you stuck with any 4% weighted marks question then flag it & move on without investing too much time.
Troubleshooting raised from 10% to 30% and logging/monitoring also included in it. There is a much greater emphasis on troubleshooting and hence, the question related to troubleshooting carries more weight marks like 7-8%.
1/4 of the new curriculum is dedicated to the cluster Architecture, installation & configuration including Kubeadm to install/ version upgrade on a kubernetes cluster, etcd backup and restore, Manage RBAC. Obviously, cluster related configuration questions will carry the highest weightage %.
Service & Networking increases by 9% in the weight, but there are not many changes except how to use Ingress resources and network policy. Questions coming from this section is weighted to 4% and 7%.
Workload & Scheduling capture all points of the previous Application Lifecycle Management including label selectors, scale the deployment, reschedule pods and so on. Most of the questions coming from this section are easy to answer and carry 4% weightage.
Storage curriculum has no significant changes. In my opinion, this is the only section which is almost similar to previous CKA version.
mostly the security is separated out of the CKA exam and LF is planning to include this in their CKS(Certified Kubernetes Security Specialist) certification exam which is scheduled to release in November 2020.
kubectl run nginx --image=nginx --dry-run=client -o yaml ## generate pod yaml file
kubectl run nginx --image=nginx --restart=Never --dry-run=client -o yaml ## generate pod yaml file with restartPolicy: Never
kubectl run nginx --image=nginx -l="app=web,env=dev" --dry-run=client -o yaml ## generate pod yaml file with labels provided
kubectl run nginx --image=nginx --env="hello=world" --env="me=naresh" --dry-run=client -o yaml ## generate pod yaml with env variables
kubectl run nginx --image=nginx --restart=OnFailure --env='hello=world' -l='app=web' --limits='cpu=100m,memory=150Mi' --dry-run=client -o yaml ## generate pod yaml with various parametes
kubectl run nginx --image=nginx --port=80 --expose --dry-run=client -o yaml ## generate pod yaml file & Service yaml file together
## Note: remove --dry-run -o yaml from all above commands to create pods ex as below.
kubectl run nginx --image=nginx # create a pod
kubectl create deployment nginx --image=nginx --dry-run=client -o yaml ## generate Deployment yaml file
## Note: remove --dry-run -o yaml from all above commands to create Deployment ex as below.
kubectl create deployment nginx --image=nginx ## creates a Deployment
kubectl scale deployment nginx --replicas=3 ## scale a deployment named nginx
kubectl scale replicaset nginx --replicas=3 ## scale a replicaset named nginx
kubectl scale statefulset nginx --replicas=3 ## scale a statefulset named nginx
kubectl create service nodeport nginx --tcp=80:80 --dry-run=client -o yaml ## generate a service yaml with type: NodePort name: 'nginx' & selector app: nginx
kubectl create service nodeport nginx --tcp=80:80 --node-port=30080 --dry-run=client -o yaml ## generate a service yaml with type: NodePort, name: 'nginx' & selector app: nginx with nodeport given
kubectl create service clusterip nginx --tcp=80:80 --dry-run=client -o yaml ## generate a service yaml with type: ClusterIP
## Note: to use below commands, the pod/deployment must be created first
kubectl expose pod mypod --port=80 --target-port=8080 --type=NodePort --dry-run=client -o yaml
kubectl expose deployment mydep --port=80 --target-port=8080 --type=NodePort --dry-run=client -o yaml
kubectl expose -f pod.yaml --port=80 --target-port=8080 --type=NodePort --dry-run=client -o yaml
kubectl expose pod mypod --port=80 --target-port=8080 --type=ClusterIP --dry-run=client -o yaml
kubectl expose deployment mydep --port=80 --target-port=8080 --type=ClusterIP --dry-run=client -o yaml
kubectl expose -f pod.yaml --port=80 --target-port=8080 --type=ClusterIP --dry-run=client -o yaml