Certified Kubernetes Administrator

https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/

The CKA was created by the Linux Foundation and the Cloud Native Computing Foundation (CNCF) as a part of their ongoing effort to help develop the Kubernetes ecosystem. The exam is online, proctored, performance-based test that requires solving multiple tasks from a command line running Kubernetes.

Storage πŸ«™

  • Understand storage classes, persistent volumes
  • Understand volume mode, access modes and reclaim policies for volumes
  • Understand persistent volume claims primitive
  • Know how to configure applications with persistent storage

Troubleshooting πŸ€”

  • Evaluate cluster and node logging
  • Understand how to monitor applications
  • Manage container stdout & stderr logs
  • Troubleshoot application failure
  • Troubleshoot cluster component failure
  • Troubleshoot networking

Workloads & Scheduling βš™οΈβ±οΈ

  • Understand deployments and how to perform rolling update and rollbacks
  • Use ConfigMaps and Secrets to configure applications
  • Know how to scale applications
  • Understand the primitives used to create robust, self-healing, application deployments
  • Understand how resource limits can affect Pod scheduling
  • Awareness of manifest management and common templating tools

Cluster Architecture, Installation & Configuration πŸ‘·

  • Manage role based access control (RBAC)
  • Use Kubeadm to install a basic cluster
  • Manage a highly-available Kubernetes cluster
  • Provision underlying infrastructure to deploy a Kubernetes cluster
  • Perform a version upgrade on a Kubernetes cluster using Kubeadm
  • Implement etcd backup and restore

Services & Networking πŸ›œ

  • Understand host networking configuration on the cluster nodes
  • Understand connectivity between Pods
  • Understand ClusterIP, NodePort, LoadBalancer service types and endpoints
  • Know how to use Ingress controllers and Ingress resources
  • Know how to configure and use CoreDNS
  • Choose an appropriate container network interface plugin

Study Plan

1. Goal

  • Pass the CKA certification exam within 4 Months.
  • Build hands-on expertise with Kubernetes clusters.

2. Timeline

  • Duration: 16 weeks (can be adjusted based on your schedule).
  • Daily Commitment: 2-3 hours/day.
  • Weekly Breakdown:
    • Focus on specific topics aligned with the CKA exam curriculum.
    • Reserve time for labs, practice, and review.

3. Resources

  • Books & Guides:
    • Kubernetes Up & Running* by Kelsey Hightower.
    • Official Kubernetes documentation: Kubernetes Docs
  • Labs:
    • Killercoda labs
    • K3s on personal ProxMox lab

Study Notes

1. The Complexity of Kubernetes

  • Kubernetes is often described as a vast β€œRabbit Hole” πŸ•³οΈ with layers of concepts and tools. However, understanding why Kubernetes exists and how it works provides a solid foundation that will help immensely. 🚴

2. The Roots of Containerization

  • The concept of CHROOT was one of the early steps toward what we now call containerization. πŸ“¦
  • Containerization gained popularity with Docker, making it easy to package and deploy applications in isolated environments.

3. Containers on Virtual Machines: A Limitation

  • Initially, containers would run within Virtual Machines (VMs), which limited their efficiency and scalability.
  • Over time, as more VMs were needed to handle application loads, this setup led to increased complexity.

4. Managing VMs Before Kubernetes

  • Before Kubernetes, Ansible was commonly used in multi-VM setups to handle deployments with a push-based workflow.
  • However, this approach had a critical flaw:
  • Lack of Communication: Each VM operated independently, with no real-time feedback between them.
  • Sync Challenges: Keeping configurations synchronized across VMs was tedious, especially when maintenance was required on a single VM.

5. Enter Kubernetes: The Cloud Operating System

  • Kubernetes was introduced to address these limitations and is often considered the operating system of the cloud.
  • It allows a cluster of VMs (or nodes) to communicate and coordinate, enabling more efficient resource management and orchestration at scale.