Kubernetes Labs
📋 Lab Overview
Welcome to the hands-on Kubernetes labs! This comprehensive series of labs will guide you through essential Kubernetes concepts and advanced topics.
🗂️ Available Labs
Getting Started
| Lab | Topic | Description |
| 00 | Verify Cluster | Ensure your Kubernetes cluster is properly configured |
| 01 | Namespace | Learn to organize resources with namespaces |
| 02 | Deployments (Imperative) | Create deployments using kubectl commands |
| 03 | Deployments (Declarative) | Create deployments using YAML manifests |
| 04 | Rollout | Manage deployment updates and rollbacks |
| 20 | CronJob | Schedule recurring tasks |
Networking
| Lab | Topic | Description |
| 05 | Services | Expose applications with Kubernetes services |
| 07 | Nginx Ingress | Configure ingress controllers for external access |
| 10 | Istio | Implement service mesh for microservices |
| 33 | NetworkPolicies | Control traffic flow between pods |
Security
| Lab | Topic | Description |
| 31 | RBAC | Role-based access control for Kubernetes |
| 32 | Secrets | Manage sensitive data in Kubernetes |
| 33 | NetworkPolicies | Control traffic flow between pods |
| 35 | Secret Management | Advanced secret management strategies |
| 37 | ResourceQuotas & LimitRanges | Manage resource consumption per namespace |
Storage & Config
| Lab | Topic | Description |
| 06 | DataStore | Work with persistent storage in Kubernetes |
| 08 | Kustomization | Manage configurations with Kustomize |
| 09 | StatefulSet | Deploy stateful applications |
| 12 | WordPress MySQL PVC | Complete stateful application with persistent storage |
Observability
| Lab | Topic | Description |
| 14 | Logging | Centralized logging with Fluentd |
| 15 | Prometheus & Grafana | Monitoring and visualization |
| 29 | EFK Stack | Elasticsearch, Fluentd, and Kibana stack |
GitOps & CI/CD
| Lab | Topic | Description |
| 13 | HelmChart | Package and deploy applications with Helm |
| 18 | ArgoCD | Implement GitOps with ArgoCD |
| 23 | Helm Operator | Manage Helm releases with operators |
Advanced
| Lab | Topic | Description |
| 11 | Custom Resource Definition | Extend Kubernetes API with CRDs |
| 16 | Affinity, Taint & Toleration | Control pod scheduling |
| 17 | Pod Disruption Budgets | Ensure availability during disruptions |
| 19 | Custom Scheduler | Build custom scheduling logic |
| 21 | KubeAPI | Work with Kubernetes API |
| 24 | Kubebuilder | Build Kubernetes operators |
| 28 | Telepresence | Local development with remote clusters |
| 30 | KEDA | Kubernetes event-driven autoscaling |
| 34 | crictl | Container runtime interface CLI |
| 36 | kubectl Deep Dive | Advanced kubectl usage and techniques |
🧠 Practice Tasks
🎯 Learning Path
Beginner Track
Start here if you’re new to Kubernetes:
- Lab 00: Verify Cluster
- Lab 01: Namespace
- Lab 02: Deployments (Imperative)
- Lab 03: Deployments (Declarative)
- Lab 05: Services
For those with basic Kubernetes knowledge:
- Lab 04: Rollout
- Lab 06: DataStore
- Lab 07: Nginx Ingress
- Lab 08: Kustomization
- Lab 13: Helm Chart
Advanced Track
For experienced Kubernetes users:
- Lab 10: Istio
- Lab 11: Custom Resource Definition
- Lab 18: ArgoCD
- Lab 19: Custom Scheduler
- Lab 24: Kubebuilder
💡 Tips for Success
- Take your time: Don’t rush through the labs
- Practice regularly: Repetition builds muscle memory
- Experiment: Try variations of the examples
- Read the docs: Kubernetes documentation is excellent
- Join the community: Engage with other learners
🚀 Get Started
Ready to begin? Click on any lab on the left menu, or start with Lab 00: Verify Cluster!