Home Sharing my path to the CKA Certification
Post
Cancel

Sharing my path to the CKA Certification

Throughout this post, I aim to provide you with a comprehensive account of my CKA certification experience.

From the initial preparations to the final examination, I’ll share the tips, resources, and strategies that proved invaluable in navigating the intricate Kubernetes ecosystem.

Whether you’re a seasoned developer seeking to enhance your skill set or a budding professional aspiring to make your mark in the industry, this series aims to equip you with the knowledge and confidence to embark on your own CKA journey.

The flight: A Strategic Approach

Checklist

When preparing for the exam, having the right tools at your disposal is crucial. While knowledge is paramount, being equipped with useful tools can greatly enhance your ability to tackle challenges efficiently. Here are some tools that you should have in your backpack:

  1. ViM: Familiarize yourself with ViM and learn useful YAML settings. It’s a powerful text editor that can streamline your workflow.

  2. Bash: Being comfortable with the command line is essential. Brush up on your Bash skills to navigate and execute commands effortlessly.

  3. TMUX: While not mandatory for the exam, TMUX is a handy tool for managing terminal sessions. It can help improve your productivity during day-to-day work.

  4. Kubectl: Considered your go-to tool, Kubectl is essential for managing Kubernetes clusters. Practice using it extensively from day one to become proficient.

  5. Containers: Docker knowledge is indispensable. Make sure you understand how containers work, their lifecycle, and how to interact with them effectively.

  6. CRICTL: If you’re familiar with Docker commands, you’ll find CRICTL to be very useful. Its commands are similar and can provide valuable insights into container runtimes.

  7. JSON: Become proficient in using tools like jq or mastering jsonpath. These will enable you to manipulate and extract information from JSON data efficiently.

  8. Openssl: Understanding how to check the validity of certificates using Openssl is important. It will help you troubleshoot and secure communication in a Kubernetes environment.

  9. SystemD: Gain familiarity with systemctl, daemon units, and journalctl. SystemD plays a vital role in managing services, so having a good grasp of its commands and logs is beneficial.

By ensuring you have these essential tools in your arsenal, you’ll be well-prepared to handle the challenges that come your way during the exam. Remember to practice using them regularly to build confidence and proficiency. Good luck with your exam preparation!

Final checklist point

I highly recommend starting from day zero by actively engaging with a Kubernetes cluster. There are several options available to you:

  • minikube (highly recommended): This local Kubernetes cluster is an excellent choice for experimentation and learning.

  • Vagrant: Explore the possibility of setting up a cluster using Vagrant, which provides a convenient way to create and manage virtual machines.

  • GCP Free-Tier: Utilize the free-tier offering from Google Cloud Platform (GCP) to deploy and interact with a Kubernetes cluster in the cloud.

  • VMs with proxmox: For a more advanced setup, consider deploying virtual machines using proxmox with Terraform scripts and configuring them via Ansible.

Remember, the method of cluster deployment is not as crucial as the hands-on experience you gain. It’s essential to dive into the journey and immerse yourself in various commands and operations.

Taking Off

Be prepared to interact extensively with the official Kubernetes documentation available at https://kubernetes.io/docs/home/. However, it’s important to adopt a focused approach rather than attempting to read every single post. Instead, concentrate on the key and vital concepts.

By honing in on the crucial information, you can efficiently grasp the fundamental concepts and techniques required for success in your Kubernetes endeavors. Prioritize understanding the core concepts, such as Pods, Deployments, Services, and Ingress, while also exploring topics like networking, storage, and security.

Remember, practical experience and hands-on exercises will be your greatest assets as you navigate this journey. Combine your theoretical knowledge with practical implementation to reinforce your understanding and gain confidence in working with Kubernetes.

I have prepared the exam with Mumshad Mannambeth awesome course, I know others providers but I can tell you, this is pretty clear and concise.

Try to go deeper

I recommend you to try to go deep on each topic if needed, try to understand the reasons behind each part. I’ve used this material:

Cloud Native Computing Foundation

Securing Cluster Networking with Network Policies - Ahmet Balkan, Google - YouTube

Kubernetes Best Practices with Sandeep Dinesh (Google) - YouTube

Just Me And Opensource

Key Knowledge to Acquire

To ensure a comprehensive understanding of Kubernetes, it is important to focus on the following key areas:

  • Role-Based Access Control (RBAC): Differentiate between user and service account roles. Understand how RBAC governs access and permissions within a Kubernetes cluster.

  • Volumes: Familiarize yourself with the distinction between emptyDir and hostPath volume types. Understand their use cases and implications for data storage within containers.

  • Network Policies: Gain a solid understanding of how network policies function and the various approaches to implementing them. Refer to the GitHub repository by ahmetb for practical examples and recipes for Kubernetes network policies.

  • Taints & Tolerations: Experiment with taints and tolerations to grasp their functionality and comprehend the different types of taints available. Explore how taints and tolerations contribute to node selection and workload scheduling.

  • Container Networking Interface (CNI): Develop an understanding of how CNI works within a Kubernetes cluster. Explore how CNI plugins facilitate network communication between containers and nodes.

  • ETCD: Familiarize yourself with the backup and restore processes for ETCD, the distributed key-value store that stores Kubernetes cluster state. Understand how to perform backup and restoration both from within a pod and externally.

  • Services: Gain in-depth knowledge of the various types of Kubernetes services. Understand how services enable communication between different components within a cluster and the specific use cases they serve.

  • Install a cluster at least once using Kubernetes The Hard Way

By mastering these key concepts and techniques, you will establish a strong foundation in Kubernetes and be better equipped to navigate and troubleshoot various scenarios within your cluster.

Remember, practical hands-on experience and continuous learning will further solidify your understanding of these topics. Explore real-world use cases, experiment with different configurations, and seek out additional resources to deepen your knowledge.

The CKA Exam

Preparation

Once you feel confident, challenge yourself by taking a mock exam from killer.sh. Use this opportunity to identify areas that need improvement. Spend a week reviewing and understanding the areas where you struggled, and then take another mock exam. This process will greatly enhance your confidence.

The Final Day

On the day of the exam, despite feeling overwhelmed with knowledge, once the proctor assigned the exam and I began answering the questions, everything started to fall into place. If you have followed the steps outlined in this post, failing on your first attempt is highly unlikely.

Nevertheless, here are some additional tips to keep in mind:

  • Avoid spending too much time on any one question.
  • Before attempting any question, quickly scan through all the questions and prioritize those with higher scores.
  • Use a text file in Vim or any other text editor to organize and order the questions according to your preferences.

By implementing these strategies, you can approach the CKA exam with confidence and increase your chances of achieving success.

Useful tips

An easy way to get the JSONPath
1
2
3
# Need the jq utility
k get nodes -o json | jq -c 'paths'
# Use grep to filter more if needed
Display the data in columns
1
k get nodes -o=custom-columns=<COL_NAME>:<JSONPATH> --sort-by=<SORT_KEY>
How to know if user can do certain action
1
k auth can-i list persistentvolumes --as system:serviceaccount:default:pvviewer
How to switch context or namespace

Use this tool: kubectx + kubens

Conclusion

In conclusion, my journey to CKA certification has been an incredible experience that has reinforced several key points for success. Firstly, it’s important to note that prior experience with Kubernetes is not a prerequisite for passing the exam. Even as a beginner in the Kubernetes world, I was able to navigate the certification successfully. This serves as a testament to the comprehensive preparation resources available and the power of determination.

Throughout my preparation, I discovered the immense value of hands-on practice. Merely studying theoretical concepts is insufficient. It is crucial to apply what you learn in practical scenarios, such as deploying and managing Kubernetes clusters. This practical experience solidifies your understanding and prepares you to face real-world challenges confidently.

Additionally, I learned the importance of asking questions and seeking deeper understanding. As you explore the intricacies of Kubernetes, don’t hesitate to question why things work the way they do. This curiosity fuels continuous learning and empowers you to uncover hidden insights that go beyond the surface-level understanding.

Lastly, I highly recommend setting up homelabs for testing and experimentation. Creating your own Kubernetes environment allows you to put your knowledge into practice, test different configurations, and simulate real-world scenarios. Homelabs serve as valuable playgrounds where you can explore, make mistakes, and learn from them without any impact on production systems.

In conclusion, embarking on the journey towards CKA certification, regardless of your prior experience, is an opportunity for growth and professional development. By following a hands-on approach, inquisitive mindset, and conducting homelab experiments, you’ll not only gain the necessary knowledge but also foster a deep understanding of Kubernetes and its applications. So, go ahead, take the leap, and unlock the limitless possibilities that await you in the world of Kubernetes mastery.

Buen vuelo!

This post is licensed under CC BY 4.0 by the author.