Welcome to our CKA/CKAD study group repository! 🚀 This space is dedicated to collaborative learning and preparation for the Certified Kubernetes Administrator (CKA) and Certified Kubernetes Application Developer (CKAD) exams.
git clone https://github.com/colossus06/cka-ckad-study-group.git
Clone this repository to your local machine to access study materials, practice scenarios, and other resources.
-
20%: Application Design and Build
- Define, build and modify container images
- Choose and use the right workload resource (Deployment, DaemonSet, CronJob, etc.)
- Understand multi-container Pod design patterns (e.g. sidecar, init and others)
- Utilize persistent and ephemeral volumes
-
20%: Application Deployment
- Use Kubernetes primitives to implement common deployment strategies (e.g. blue/green or canary)
- Understand Deployments and how to perform rolling updates
- Use the Helm package manager to deploy existing packages
- Kustomize
-
15%: Application Observability and Maintenance
- Understand API deprecations
- Implement probes and health checks
- Use built-in CLI tools to monitor Kubernetes applications
- Utilize container logs
- Debugging in Kubernetes
-
25%: Application Environment, Configuration and Security
- Discover and use resources that extend Kubernetes (CRD, Operators)
- Understand authentication, authorization and admission control
- Understand Requests, limits, quotas
- Understand ConfigMaps
- Define resource requirements
- Create & consume Secrets
- Understand ServiceAccounts
- Understand Application Security (SecurityContexts, Capabilities, etc.)
-
20%: Services & Networking
- Demonstrate basic understanding of NetworkPolicies
- Provide and troubleshoot access to applications via services
- Use Ingress rules to expose applications
-
Storage 10%
- 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 30%
- 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 15%
- 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 25%
- 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 20%
- 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
- For discussions, Q&A, and collaborative learningJoin our
- CKA study group
- CKAD study group
Connect with fellow learners, ask questions, and participate in discussions related to CKA/CKAD exam preparation.
- Follow the instructions in the week I setup guide to configure your Kubernetes environment for studying. Deploy a sample 3 Tier App following Week II instructions
Ensure you have a suitable Kubernetes environment for hands-on practice and labs by following the provided setup instructions.
You can find resources and materials we are going to follow in our slack channell.
We encourage you to contribute to the repository by:
- Adding more study materials.
- Creating additional practice scenarios.
- Sharing your experience and tips.
- Reporting issues or improvements.
This repository is licensed under the MIT License.