GithubHelp home page GithubHelp logo

piyushsachdeva / cka-2024 Goto Github PK

View Code? Open in Web Editor NEW
275.0 20.0 422.0 282 KB

This repository contains the notes and code snippets of the CKA 2024 YouTube Playlist. The content is based on the latest 2024 curriculum and includes hands-on demos, assignments, and exam-based scenarios. I will be covering everything from the basics to the advanced level.

Dockerfile 41.74% Python 22.50% Shell 35.76%
cka cncf docker k8s kubernetes kubernetes-tutorial

cka-2024's Introduction

Certified Kubernetes Administrator(CKA) 2024

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

๐Ÿ”— Join our community ๐Ÿ‘‡

Day0: Intro to the series

Course Introduction

  • Course Introduction
  • Discord community server for assistance
  • Live QnA sessions every weekend
  • #40daysofkubernetes challenge

Day 1: Docker Fundamentals

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

Day 2 Video: Dockerize an application

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

Day3 Video: Docker Multi-Stage Builds

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

Day 4 Video: Why do We need Kubernetes?

Status: Video is live, check out ๐Ÿ‘‰ Day4 ๐Ÿ‘ˆ folder for notes and useful links โœ…

Day 5 Video: Kubernetes Architecture

Status: Video is live, check out ๐Ÿ‘‰ Day5 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Control plane VS Worker Nodes
  • Overview of control plane components

Day 6 Video: Install Kubernetes Cluster locally

Status: Video is live, check out ๐Ÿ‘‰ Day6 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Install Kind cluster locally
  • How to access the cluster

Day7 Video: Pods in Kubernetes

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

Day8 Video: Replicasets and Deployments in Kubernetes:

Status: Video is live, check out ๐Ÿ‘‰ Day8 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Replication Controller
  • ReplicaSet
  • Deployments
  • How to perform Rolling updates/rollback
  • Scale the deployment

Day9 Video: Services in Kubernetes:

Status: Video is live, check out ๐Ÿ‘‰ Day9 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • What are services in Kubernetes, and why do we need them?
  • Node port, ClusterIP, and LoadBalancer

Day 10 Video: Namespaces:

Status: Video is live, check out ๐Ÿ‘‰ Day10 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • NameSpaces
  • Services and namespaces

Day 11 Video: Multi-container Pods

Status: Video is live, check out ๐Ÿ‘‰ Day11 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • What are multi-container pods
  • Multi-container pods pattern - sidecar/init etc
  • Environment variables in Kubernetes

Day 12 Video: Daemonset, Cronjob, and job

Status: Video is live, check out ๐Ÿ‘‰ Day12 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • What are Daemonset, cronjobs and Jobs
  • Cron fundamentals with examples

Day13 Video: Static Pods

Status: Video is live, check out ๐Ÿ‘‰ Day13 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • What are static pods
  • Labels and selectors
  • Manual Scheduling

Day14 Video: Taints and Tolerations

Status: Video is live, check out ๐Ÿ‘‰ Day14 ๐Ÿ‘ˆ folder for notes and useful links โœ…

Day15 Video: Node Affinity

Status: Video is live, check out ๐Ÿ‘‰ Day15 ๐Ÿ‘ˆ folder for notes and useful links โœ…

Day16 Video: Resource Requests and Limits

Status: Video is live, check out ๐Ÿ‘‰ Day16 ๐Ÿ‘ˆ folder for notes and useful links โœ…

Day17 Video: Autoscaling in Kubernetes

Status: Video is live, check out ๐Ÿ‘‰ Day17 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Horizontal VS Vertical Autoscaling
  • HPA, VPA, Cluster autoscaling, NAP
  • Metrics server

Day18 Video: Probes in Kubernetes

Status: Video is live, check out ๐Ÿ‘‰ Day18 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Liveness VS Readiness Probes
  • HTTP/TCP/Command-based health checks

Day19 Video: Config maps and Secrets

Status: Video is live, check out ๐Ÿ‘‰ Day19 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • concept and demo

Day 20 Video: How SSL/TLS works

Status: Video is live, check out ๐Ÿ‘‰ Day20 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Symmetric VS Asymmetric encryption
  • SSL certificates and Certificate Authority

Day 21 Video: TLS in Kubernetes

Status: Video is live, check out ๐Ÿ‘‰ Day21 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • How TLS works in Kubernetes
  • Why we need TLS in Kubernetes
  • Private key and public certificates

Day 22 Video: Authorization in Kubernetes

Status: Video is live, check out ๐Ÿ‘‰ Day22 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Authorization VS Authentication
  • Authorization types, ABAC, RBAC, Node, Webhook
  • Kubeconfig

Day 23 Video: Role-based access control (RBAC)

Status: Video is live, check out ๐Ÿ‘‰ Day23 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Role and role binding
  • Generate and approve the certificate
  • grant access to the user

Day 24 Video: Cluster role and cluster role binding

Status: Video is live, check out ๐Ÿ‘‰ Day24 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • concept and demo

Day 25 Video: Service Account

Status: Video is live, check out ๐Ÿ‘‰ Day25 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • What are service accounts, and why do we use them?
  • Create a service account and grant access to it

Day26 Video: Network Policies

Status: Video is live, check out ๐Ÿ‘‰ Day26 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Network policy concept
  • CNI installation
  • enforce network policy by creating the object

Day27 Video: Use Kubeadm to install a Kubernetes cluster

Status: Video is live, check out ๐Ÿ‘‰ Day27 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Provision underlying infrastructure to deploy a Kubernetes cluster
  • Setup Master Node to deploy Kubernetes components
  • Setup multiple worker nodes and join the master node

Day28 Video: Docker storage fundamentals

Status: Video is live, check out ๐Ÿ‘‰ Day28 ๐Ÿ‘ˆ folder for notes and useful links โœ…

  • Why do we need storage in docker containers
  • persistent docker storage

Day29 Video: Storage in Kubernetes

  • 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

Day30 Video: How does DNS work?

  • What happens when you type a website address in your browser
  • different components involved in DNS
  • End-to-end flow
  • Important files and resources

Day31 Video: DNS in kubernetes

  • How DNS works in Kubernetes
  • Core-DNS

Day32 Video: Kubernetes Networking

  • CNI , Network Add-on
  • Containerd vs runc , container runtime

Day 33 Video: Ingress controller and Ingress resources

Day 34 Video: Perform a version upgrade on a Kubernetes cluster using Kubeadm

Day 35 Video: Implement etcd backup and restore

Day 36 Video: Monitoring, Logging and Alerting

  • Monitor Cluster components, Evaluate cluster and node logging
  • Understand how to monitor applications, metric server
  • Manage container stdout & stderr logs

Day 37 Video: Troubleshoot application failure

Day 38 Video: Troubleshoot cluster component failure

Day 39 Video: Network Troubleshooting

  • Worker node failure
  • cordon, uncordon and drain (maintenance)\

Day 40 Video: JSONPath, advance kubectl commands

  • JSON for beginners
  • JSON v/s YAML
  • JSONPATH basics
  • Multiple JSONPATH queries to fetch details

Day 41 Mission CKA

  • Exam Pattern
  • Pre-requisites
  • Last-minute preparation
  • Tips and Tricks
  • Sample questions

Day 42 Video: Realtime project: Host your own container registry on Kubernetes

  • This project will include multiple Kubernetes topics with real-time implementation.

Frequently asked questions:

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.

1) ๐ˆ ๐œ๐š๐ง๐ง๐จ๐ญ ๐š๐Ÿ๐Ÿ๐จ๐ซ๐ ๐ญ๐ก๐ž ๐‚๐Š๐€ ๐ž๐ฑ๐š๐ฆ ๐ข๐ญ'๐ฌ ๐ญ๐จ๐จ ๐ž๐ฑ๐ฉ๐ž๐ง๐ฌ๐ข๐ฏ๐ž. ๐’๐ก๐จ๐ฎ๐ฅ๐ ๐ˆ ๐ฌ๐ญ๐ข๐ฅ๐ฅ ๐Ÿ๐จ๐ฅ๐ฅ๐จ๐ฐ ๐š๐ฅ๐จ๐ง๐ ?

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.

5) ๐‡๐จ๐ฐ ๐ฆ๐š๐ง๐ฒ ๐ฏ๐ข๐๐ž๐จ๐ฌ ๐ฐ๐ข๐ฅ๐ฅ ๐›๐ž ๐ฉ๐ฎ๐›๐ฅ๐ข๐ฌ๐ก๐ž๐ ๐ž๐ฏ๐ž๐ซ๐ฒ ๐ฐ๐ž๐ž๐ค?

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.

6) ๐–๐ก๐š๐ญ ๐ข๐Ÿ ๐ฐ๐ž ๐š๐ซ๐ž ๐ฌ๐ญ๐ฎ๐œ๐ค ๐ฌ๐จ๐ฆ๐ž๐ฐ๐ก๐ž๐ซ๐ž ๐š๐ง๐ ๐ง๐ž๐ž๐ ๐š๐ฌ๐ฌ๐ข๐ฌ๐ญ๐š๐ง๐œ๐ž?

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.

cka-2024's People

Contributors

piyushsachdeva avatar iam-veeramalla avatar

Stargazers

Nikhil Wilson avatar Madhav tripathi avatar  avatar Glad avatar Dawid Cybulski avatar Ashutosh Kumar avatar Sourajyoti De avatar Ayyoub Maulana avatar luffy avatar  avatar Prakash Divy avatar  avatar Dewi Oktaviani avatar Rahul Kanojia avatar  avatar Muhamad Hanafiah Yahya avatar John Daniel avatar  avatar  avatar Rakholiya Harshil avatar  avatar Kolla Chandini avatar Taufiq avatar Govind Jakate avatar Omkar Khatavkar avatar Brian Kim avatar Yashwanth-Reddy-Gangalakunta avatar  avatar Swapnil Gupta avatar Vivek Y. avatar Jeyendran Sundaram avatar Alapan Das avatar  avatar  avatar  avatar Sharan avatar Shubhrima Jana avatar BANDA THARUN REDDY  avatar Hilman Ibnu Assiddiq avatar VISHWA P avatar  avatar  avatar Salil Kayastha avatar Aas Suhendar avatar Hadiru Colley avatar  avatar  avatar  avatar Soumyadip avatar Richard Edwards avatar Best Edeki avatar  avatar JOE avatar Sergey avatar Harsh Goyal avatar  avatar Prasad Shirodkar avatar Shivakumar-444 avatar Hein Htet Zan avatar Nishantha Priyadarshana avatar TeeGee  avatar Praveen Karthick Jeevanandham avatar  avatar Bhaskar Darla avatar Inderpreet Singh avatar Srinivas Reddy Ettedi avatar  avatar RAKESH DUTTA avatar  avatar Gokul Pant avatar Kalhara Tennakoon avatar  avatar Atul N Gawade avatar Cฦฐแปng Tuแบฅn Nguyแป…n avatar  avatar  avatar Badrul_alam avatar Sadikh Shaik avatar Kiran Pawar avatar Irshad Ali avatar  avatar Mallikarjun G avatar  avatar  avatar Surya Kiran avatar Ashay Humane avatar  avatar  avatar Krupanandareddy avatar Naveen SILVER avatar Vipin Verma avatar  avatar  avatar Abhishek vardhan Danagalla avatar  avatar Abdulrahman Mosaibah avatar Jagmeet Sandhu avatar  avatar Naveen avatar Jatin Gera avatar

Watchers

Igor avatar Raavan avatar Chima Nwadike avatar sasi kanth avatar Seeramdas Pavan Raj avatar  avatar Ajay R avatar Praanshu Grover avatar  avatar Pranay avatar Jeyendran Sundaram avatar Nareshkv5 avatar admanixh0831 avatar Nikhil Wilson avatar  avatar Sreenath Radhakrishnan Warrier avatar David Hoffman avatar Rahul Kanojia avatar Prathamesh avatar Ravi Shankar Rajupalepu avatar

cka-2024's Issues

day3 npm error

in the day3 multistage file , i recieved this error

Step 6/8 : RUN npm run build
 ---> Running in 436caa2eb802
npm error Missing script: "build"
npm error
npm error To see a list of scripts, run:
npm error   npm run

npm error A complete log of this run can be found in: /root/.npm/_logs/2024-09-07T08_05_04_400Z-debug-0.log
The command '/bin/sh -c npm run build' returned a non-zero code: 1

this is the complete docker build output

docker build -t todomulti:v1  .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
            Install the buildx component to build images with BuildKit:
            https://docs.docker.com/go/buildx/

Sending build context to Docker daemon  6.734MB
Step 1/8 : FROM node:18-alpine AS installer
18-alpine: Pulling from library/node
43c4264eed91: Pull complete 
3696426c5aa2: Pull complete 
cdccf44a82db: Pull complete 
21f39b9ddd19: Pull complete 
Digest: sha256:b5b8fd22b37b34e61c70d960cb6049c8b3f02525864dc2f677b54fa9e0ceff58
Status: Downloaded newer image for node:18-alpine
 ---> f48cc5826852
Step 2/8 : WORKDIR /app
 ---> Running in ee06a10e9cae
 ---> Removed intermediate container ee06a10e9cae
 ---> bc3db8cf4016
Step 3/8 : COPY package*.json .
 ---> fca23256b62f
Step 4/8 : RUN npm install
 ---> Running in 42dfaf4166bd
npm warn deprecated @npmcli/[email protected]: This functionality has been moved to @npmcli/fs
npm warn deprecated [email protected]: This package is no longer supported.
npm warn deprecated [email protected]: This package is no longer supported.
npm warn deprecated [email protected]: This package is no longer supported.
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated [email protected]: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported

added 490 packages, and audited 491 packages in 22s

58 packages are looking for funding
  run `npm fund` for details

4 vulnerabilities (3 high, 1 critical)

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
npm notice
npm notice New minor version of npm available! 10.7.0 -> 10.8.3
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.3
npm notice To update run: npm install -g [email protected]
npm notice
 ---> Removed intermediate container 42dfaf4166bd
 ---> fe57c2be707c
Step 5/8 : COPY . .
 ---> 66319f3b6670
Step 6/8 : RUN npm run build
 ---> Running in b6a7dc6a3257
npm error Missing script: "build"
npm error
npm error To see a list of scripts, run:
npm error   npm run

npm error A complete log of this run can be found in: /root/.npm/_logs/2024-09-07T08_02_52_088Z-debug-0.log
The command '/bin/sh -c npm run build' returned a non-zero code: 1

getting-started-app master*โ€‹โ€‹ ๓ฐžจ nvim Dockerfile

getting-started-app master*โ€‹โ€‹ ๓ฑข nvim Dockerfile 

getting-started-app master*โ€‹โ€‹ ๓ฑข docker build -t todomulti:v1  .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
            Install the buildx component to build images with BuildKit:
            https://docs.docker.com/go/buildx/

Sending build context to Docker daemon  6.734MB
Step 1/8 : FROM node:18-alpine AS installer
 ---> f48cc5826852
Step 2/8 : WORKDIR /app
 ---> Using cache
 ---> bc3db8cf4016
Step 3/8 : COPY package*.json ./
 ---> c71d81469390
Step 4/8 : RUN npm install
 ---> Running in 2ca1d6638816
npm warn deprecated [email protected]: This package is no longer supported.
npm warn deprecated @npmcli/[email protected]: This functionality has been moved to @npmcli/fs
npm warn deprecated [email protected]: Rimraf versions prior to v4 are no longer supported
npm warn deprecated [email protected]: This package is no longer supported.
npm warn deprecated [email protected]: This package is no longer supported.
npm warn deprecated [email protected]: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated [email protected]: Glob versions prior to v9 are no longer supported

added 490 packages, and audited 491 packages in 20s

58 packages are looking for funding
  run `npm fund` for details

4 vulnerabilities (3 high, 1 critical)

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
npm notice
npm notice New minor version of npm available! 10.7.0 -> 10.8.3
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.8.3
npm notice To update run: npm install -g [email protected]
npm notice
 ---> Removed intermediate container 2ca1d6638816
 ---> 9b734df48283
Step 5/8 : COPY . .
 ---> a422006ebf3e
Step 6/8 : RUN npm run build
 ---> Running in 436caa2eb802
npm error Missing script: "build"
npm error
npm error To see a list of scripts, run:
npm error   npm run

npm error A complete log of this run can be found in: /root/.npm/_logs/2024-09-07T08_05_04_400Z-debug-0.log
The command '/bin/sh -c npm run build' returned a non-zero code: 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.