Fast forward CKA Tips and Tricks!

2021-02-14

CKA Tips

During the Covid times, I wanted to spend some time off office work. I wanted to give a try on CKA. I am not a big fan of Certification though :) I wanted to self-evaluate how I can perform with most textbook based answers, That said please do not think these certifications ain't useful, they are certainly very useful. I prepped for CKA for a week time with daily 4 hours. If you are working with K8s daily, its a smooth ride. I am assuming here that you are well versed with K8s hence reading this article. I made some notes which I will mention here. These are not shortcuts but majorly questions appear on these topics.

  • Get Familiar with kubeadm way of upgrading cluster including worker Nodes. Refer here
  • Get very much familiar with kubelet installations and configuration details.
  • Get Familiar with Kubernetes networking addons.
  • Get familiar with how kube-proxy runs and debug logs
  • Get familiar how to grep iptable entries for checking services IPs
  • Get Familiar with manifests in /etc/manifests/kubernetes/
  • Get familiar how certificates are stored and used for each K8s component( etcd, kubelet, api-server). Refer here
  • Get very much familiar with RBAC
  • Get familiar with how CertificateSigningRequests are created for users and Certificates are approved. Refer here
  • Be aware of some openssl commands to view certificates ( openssl x509 -in file-path.crt -text -noout )
  • Practice and masterkubectl Imperative commands for creating Pod, Deployment, Service , ClusterRole , ClusterRoleBinding , ServiceAccount , Secret
  • Get familiar with kubectl top command
  • How to create labels for pods and namespaces.
  • Get familiar with kubectl config commands with jsonpath queries
  • Get familiar with how to record commands and view them via rollout command
  • Get Familiar with etcd backup and restore. Refer here
  • Get Familiar with Draining and Uncordoning Nodes
  • Get very much familiar with jsonpath . This needs some practice. Refer here
  • Get familiar with creating init containers.
  • Get familiar with creating sidecar containers for existing app containers. (You cannot edit the pod directly. You need to get the yaml in file and apply it after deleting the old pod)
  • Get very much familiar with creating PersistentVolume , PersistentVolumeClaims and mounting Volumes in Pod (Note that you cannot delete PVC until Pod is deleted). Refer here
  • Get Familiar with Ingress and try to play around w/o adding hosts and how they are attached to IngressControllers
  • Get Familiar with NodePort for services and how they can be created via kubectl Imperative commands
  • Get very much familiar with NetworkPolicies. I found this very useful.
  • Be aware of what is Static Pods and how are they created.
  • Get familiar with Rollout commands
  • Practice at least 3 mock exams to understand time management. Killer.sh is also an amazing simulator

Note: Tmux is not a must and bash k8s source code completion may not be needed. You can easily make it if you know what has to be done.