Chapter 1: Introduction to Containerization and Container Orchestration
- Lesson 1: What is Containerization?
- Lesson 2: Benefits of Containerization in DevOps
- Lesson 3: Overview of Container Tools (Docker, Podman, Kubernetes, etc.)
- Lesson 4: Introduction to Container Orchestration
- Lesson 5: Kubernetes vs. Docker: Key Differences
- Lesson 6: Kubernetes | Concept of Containers
Chapter 2: Introduction to Kubernetes
- Lesson 1: What is Kubernetes and Why Use It?
- Lesson 2: History and Evolution of Kubernetes
- Lesson 3: Key Features of Kubernetes
- Lesson 4: Kubernetes in the DevOps Workflow
- Lesson 5: Kubernetes Architecture (Monolithic vs. Distributed Model)
- Lesson 6: Kubernetes Architecture Overview (Master Node, Worker Node, etc.)
- Lesson 7: Introduction to Container Orchestration with Kubernetes
Chapter 3: Setting Up Kubernetes
- Lesson 1: Installing Kubernetes (Minikube, kubeadm, K3s, etc.)
- Lesson 2: Setting Up Kubernetes Cluster on Various Platforms
- Lesson 3: Configuring kubectl (Command Line Tool)
- Lesson 4: Setting Up Kubernetes in IDEs (e.g., Visual Studio Code, IntelliJ)
- Lesson 5: Using Kubernetes Dashboard
- Lesson 6: Setting up Kubernetes Cluster on a Local Machine using Minikube
- Lesson 7: Installing Kubernetes on Ubuntu
Chapter 4: Kubernetes Basics
- Lesson 1: Pods, Deployments, and Namespaces
- Lesson 2: Kubernetes Architecture: Nodes, Pods, ReplicaSets, and Deployments
- Lesson 3: Kubernetes CLI Commands (kubectl)
- Lesson 4: Understanding ConfigMaps and Secrets
- Lesson 5: Scaling Pods and Deployments
- Lesson 6: Managing Resource Requests and Limits
- Lesson 7: Working with Kubernetes Labels and Selectors
- Lesson 8: Kubernetes Nodes and Node Port Service
- Lesson 9: ClusterIP vs NodePort Service
- Lesson 10: Kubernetes Jobs
Chapter 5: Managing Kubernetes Resources
- Lesson 1: Creating and Managing Pods
- Lesson 2: Working with Namespaces and Contexts
- Lesson 3: Managing Deployments, StatefulSets, and DaemonSets
- Lesson 4: Managing ReplicaSets and Pods
- Lesson 5: Rolling Updates and Rollbacks
- Lesson 6: Kubernetes Volumes, Persistent Volumes, and PVCs
- Lesson 7: Using Kubernetes Jobs and CronJobs
- Lesson 8: Kubernetes Secrets and How to Use Them
- Lesson 9: Create Multiple Containers in a Pod
- Lesson 10: Replication Controller vs. ReplicaSet
Chapter 6: Kubernetes Networking
- Lesson 1: Understanding Kubernetes Networking Concepts (Pod-to-Pod, Pod-to-Service, etc.)
- Lesson 2: Services: ClusterIP, NodePort, LoadBalancer, and ExternalName
- Lesson 3: Kubernetes DNS (CoreDNS) and Service Discovery
- Lesson 4: Network Policies in Kubernetes
- Lesson 5: Ingress Controllers and Routing
Chapter 7: Advanced Kubernetes Concepts
- Lesson 1: Kubernetes API and How to Interact with It
- Lesson 2: Taints and Tolerations in Kubernetes
- Lesson 3: Advanced kubectl Commands and Use Cases
- Lesson 4: ConfigMap and Its Usage
- Lesson 5: Load Balancing and Services in Kubernetes
- Lesson 6: Kubernetes Resource Model (KRM) and YAML Syntax
Chapter 8: Kubernetes Security
- Lesson 1: RBAC (Role-Based Access Control) in Kubernetes
- Lesson 2: Kubernetes Secrets and ConfigMaps Management
- Lesson 3: Network Policies and Pod Isolation
- Lesson 4: Auditing and Logging in Kubernetes
- Lesson 5: Kubernetes Security Best Practices
Chapter 9: Kubernetes in the Cloud
- Lesson 1: Introduction to Managed Kubernetes Services (EKS, AKS, GKE)
- Lesson 2: Deploying Kubernetes on AWS, Azure, and Google Cloud
- Lesson 3: Kubernetes on Hybrid Cloud (e.g., Rancher, OpenShift)
- Lesson 4: Configuring and Managing Cloud Storage and Networking for Kubernetes
- Lesson 5: Running Multi-Cloud Kubernetes Clusters
Chapter 10: Kubernetes Troubleshooting
- Lesson 1: Common Kubernetes Issues and How to Fix Them
- Lesson 2: Using kubectl for Debugging and Troubleshooting
- Lesson 3: Managing Pod Logs and Events
- Lesson 4: Debugging Networking Issues in Kubernetes
- Lesson 5: Troubleshooting Resource Management and Autoscaling
Chapter 11: Kubernetes Upgrades and New Features
- Lesson 1: Kubernetes Release Cycle and What’s New
- Lesson 2: Major Features in Recent Kubernetes Releases (v1.24, v1.25, etc.)
- Lesson 3: Upgrading Kubernetes Clusters
- Lesson 4: Managing Deprecated Features
- Lesson 5: Exploring Kubernetes' Integration with New Technologies (e.g., AI, IoT)
Chapter 12: Real-World Applications of Kubernetes
- Lesson 1: Running Microservices with Kubernetes
- Lesson 2: Kubernetes for Big Data and Machine Learning Workloads
- Lesson 3: High Availability and Disaster Recovery in Kubernetes
- Lesson 4: Case Study | How Enterprises Use Kubernetes for Scalability
- Lesson 5: Best Practices for Kubernetes-Managed Applications
Chapter 13: Advanced Kubernetes Features
- Lesson 1: Advanced Scheduling in Kubernetes (Affinity, Taints, Tolerations)
- Lesson 2: Multi-Tenant Clusters and Namespace Isolation
- Lesson 3: Using Kubernetes for Hybrid Workloads (On-Premise + Cloud)
- Lesson 4: Service Mesh Advanced Features (e.g., Istio, Linkerd)
- Lesson 5: Managing Kubernetes Clusters with Infrastructure as Code (Terraform, Ansible)
Chapter 14: Kubernetes and Databases
- Lesson 1: Running Databases on Kubernetes (MySQL, PostgreSQL, MongoDB)
- Lesson 2: Stateful Applications in Kubernetes with Persistent Storage
- Lesson 3: Managing Database Backups and Disaster Recovery in Kubernetes
- Lesson 4: Using Kubernetes for Data Pipelines and Streaming Applications
- Lesson 5: Running NoSQL Databases on Kubernetes (Cassandra, Redis)
Chapter 15: Kubernetes in DevOps Workflows
- Lesson 1: Continuous Integration/Continuous Deployment (CI/CD) with Kubernetes
- Lesson 2: Integrating Kubernetes with Jenkins, GitLab CI, and GitHub Actions
- Lesson 3: Kubernetes as a Build Environment for Applications
- Lesson 4: Automated Testing and Staging Environments in Kubernetes
- Lesson 5: Kubernetes for Blue/Green and Canary Deployments
Chapter 16: Kubernetes and Git Integration
- Lesson 1: Installing a Private Git Server on Kubernetes with Gitea and AKS
- Lesson 2: CI/CD Pipelines and Version Control with Kubernetes
Chapter 17: Java Applications and Remote Debugging in Kubernetes
- Lesson 1: Enabling Remote Debugging for Java Applications in Kubernetes
- Lesson 2: How to Enable JMX for Java Applications Running in Kubernetes
Chapter 18: Monitoring and Logging in Kubernetes
- Lesson 1: Kubernetes Cluster Monitoring (Prometheus, Grafana)
- Lesson 2: Logging in Kubernetes (ELK Stack, Fluentd)
- Lesson 3: Application Performance Monitoring (APM) in Kubernetes
- Lesson 4: Setting Up Alerts and Notifications
- Lesson 5: Advanced Troubleshooting with Metrics and Logs
Chapter 19: Kubernetes Hosting and Cloud Integration
- Lesson 1: Hosting Applications with Kubernetes in AWS
- Lesson 2: Using Kubernetes with Azure Cloud Services
- Lesson 3: Kubernetes and Google Cloud Platform (GCP)
- Lesson 4: Setting Up Portainer for Kubernetes Management
Chapter 20: Advanced Kubernetes Settings and Customization
- Lesson 1: Using Alpine and BusyBox for Minimal Containers
- Lesson 2: Configuring Traefik as a Reverse Proxy in Kubernetes
- Lesson 3: Setting Up Plex and Nextcloud in Kubernetes
- Lesson 4: Customizing Kubernetes for Specific Applications
- Lesson 5: Kubernetes’ Role in Hybrid Cloud Scenarios