This is the GitHub repository to host all the notes, diagrams, assignments, and resources from the CKA course published on YouTube.
Note: If you found the content helpful, consider giving the repository a star ⭐
Checkout this file for the #40daysofkubernetes challenge details
- Course Introduction
- Discord community server for assistance
- Live QnA sessions every weekend
- #40daysofkubernetes challenge
Status: Video is live, check out 👉 Day1 👈 folder for notes and useful links ✅
- What is Docker?
- How is it different from Virtual Machines
- Docker Architecture
- Docker flow
- Docker commands
Status: Video is live, check out 👉 Day2 👈 folder for notes and useful links ✅
- What is Dockerfile, and how do you write it?
- docker pull , push, tag etc
Status: Video is live, check out 👉 Day3 👈 folder for notes and useful links ✅
- How to write a dockerfile for multistage build
- Benefits of multi-stage builds
- Other docker best practices
Status: Video is live, check out 👉 Day4 👈 folder for notes and useful links ✅
Status: Video is live, check out 👉 Day5 👈 folder for notes and useful links ✅
- Control plane VS Worker Nodes
- Overview of control plane components
Status: Video is live, check out 👉 Day6 👈 folder for notes and useful links ✅
- Install Kind cluster locally
- How to access the cluster
Status: Video is live, check out 👉 Day7 👈 folder for notes and useful links ✅
- What are pods in Kubernetes?
- Containers VS Pods
- Imperative VS Declarative way for creating Kubernetes resources
- Create a sample pod using the imperative way
- Create a sample pod using the declarative way
- Inspect the pods
- Replication Controller
- ReplicaSet
- Deployments
- How to perform Rolling updates/rollback
- Scale the deployment
- What are services in Kubernetes, and why do we need them?
- Node port, ClusterIP, and LoadBalancer
- NameSpaces
- Services and namespaces
- What are multi-container pods
- Multi-container pods pattern - sidecar/init etc
- Environment variables in Kubernetes
- What are Daemonset, cronjobs and Jobs
- Cron fundamentals with examples
- What are static pods
- Labels and selectors
- Manual Scheduling
- What are taints and tolerations
- Horizontal VS Vertical Autoscaling
- HPA, VPA, Cluster autoscaling, NAP
- Metrics server
- Liveness VS Readiness Probes
- HTTP/TCP/Command-based health checks
- concept and demo
- Symmetric VS Asymmetric encryption
- SSL certificates and Certificate Authority
- How TLS works in Kubernetes
- Why we need TLS in Kubernetes
- Private key and public certificates
- Authorization VS Authentication
- Authorization types, ABAC, RBAC, Node, Webhook
- Kubeconfig
- Role and role binding
- Generate and approve the certificate
- grant access to the user
- concept and demo
- What are service accounts, and why do we use them?
- Create a service account and grant access to it
- Network policy concept
- CNI installation
- enforce network policy by creating the object
- Provision underlying infrastructure to deploy a Kubernetes cluster
- Setup Master Node to deploy Kubernetes components
- Setup multiple worker nodes and join the master node
- Why do we need storage in docker containers
- persistent docker storage
- How storage works in Kubernetes
- hostpath volumes in Kubernetes
- Persistent volumes and Persistent volume claims
- Volume modes, Access modes, and reclaim policies for volumes
- Storage classes and provisions
- What happens when you type a website address in your browser
- different components involved in DNS
- End-to-end flow
- Important files and resources
- How Networking works in a docker container
- CNI , Network Add-on
- Containerd vs runc , container runtime
- Monitor Cluster components, Evaluate cluster and node logging
- Understand how to monitor applications, metric server
- Manage container stdout & stderr logs
- Worker node failure
- cordon, uncordon and drain (maintenance)
- Installing Kubernetes manually using binaries
- This project will include multiple Kubernetes topics with real-time implementation.
- Exam Pattern
- Last-minute preparation
- Tips and Tricks
I've been overwhelmed by the fantastic response to my new YouTube series on the Certified Kubernetes Administrator (CKA) exam! But with all the excitement came some questions, and I'm here to address them head-on.
The content of this playlist is based on the exam curriculum because it provides a well-organized learning path. You don't have to worry about the roadmap; you can focus on learning. Even if you are not taking the exam now, you are still gaining the hands-on knowledge that a Kubernetes administrator should have; that's good enough!
The only prerequisites are basic Linux understanding; all the other prerequisites are already covered in this series. Check out the GitHub repo below for the course content. Yes, it is absolutely free for anyone to join and follow along.
We will not be using any Cloud as the focus is on Kubernetes. Using a cloud service would mean the cloud provider manages the control plane, limiting learning. We will use a local Kubernetes installation on a Kind cluster and a Kubeadm installation on virtual machines.
Yes, there will be a couple of real-time projects at the end of this series. We cannot do real-time full-fledged projects in Kubernetes without completing all the essential topics. That is why I added the projects at the end and hands-on tasks in almost every video.
I have finished recording the entire series and am editing the last few videos. I plan to publish 3 to 4 weekly videos every Monday through Thursday. I have chosen not to publish daily so that viewers following the series have time to understand the concepts, practice hands-on, document their learning, and not feel left behind.
You can comment on the video by providing complete details about the issue/query, or you can open a new thread in the discord channel of help-cka-2024, and someone will help you. I also plan to host a live Q&A session every weekend.