A Curated List of Kubernetes Labs and Tutorials
- A $0 Learning Platform for All Levels - from the ground Up
- Over 500+ Highly Interactive Docker Tutorials and Guides
- Well tested on Kubernetes Cluster and can be run on Browser (no Infrastructure required)
- Join 8400+ DevOps Engineers today via Community Slack
- Join our Discord Server
- Fork, Contribute & Share via Kubelabs GITHUB Repository
- Click and Follow us over Twitter
- Preparing 5-Node Kubernetes Cluster
- Setting up WeaveScope For Visualization on Kubernetes
- Running Portainer on 5 Node Kubernetes Cluster
- Kubectl for Docker Beginners
- Accessing Kubernetes API
- How to know if Kubernetes is using Docker or Containerd as a runtime
- Introductory Slides
- Deploying Your First Nginx Pod
- Viewing Your Pod
- Where is your Pod running on?
- Pod Output in JSON
- Executing Commands against Pod
- Terminating a Pod
- Adding a 2nd container to a Pod
- Labels and Selectors in a Pod
- Introductory Slides
- Creating Your First ReplicaSet - 4 Pods serving Nginx
- Removing a Pod from ReplicaSet
- Scaling & Autoscaling a ReplicaSet
- Best Practices
- Deleting ReplicaSets
- Introductory Slides
- Creating Your First Deployment
- Checking the list of application deployment
- Scale up/down application deployment
- Scaling the service to 2 Replicas
- Perform rolling updates to application deployment
- Rollback updates to application deployment
- Cleaning Up
- How Kubernetes Selects the Right node?
- Node Affinity
- Anti-Node Affinity
- Nodes taints and tolerations
- Introductory Slides
- Deploy a Kubernetes Service?
- Labels and Selectors
- Service Exposing More Than One Port
- Kubernetes Service Without Pods?
- Service Discovery
- Connectivity Methods
- Headless Service In Kubernetes?
- The difference between a Statefulset and a Deployment
- Deploying a Stateful Application Using Kubernetes Statefulset?
- Deploying NFS Server
- Deploying PV
- Deploying PVC
- Using Volume
- Recreate Pod
- Why DaemonSets in Kubernetes?
- Creating your first DeamonSet Deployment
- Restrict DaemonSets To Run On Specific Nodes
- How To Reach a DaemonSet Pod
- Role-Based Access Control (RBAC) Overview
- Creating a Kubernetes User Account Using X509 Client Certificate
- What is Kubernetes Service Catalog?
- Creating a sample Service Catalog
- Installing Service Catalog Helm Chart
- What Is Cluster Networking In Kubernetes Sense?
- Kubernetes Networking Rules
- Types of Networks
- What is a Container Network Interface (CNI)?
- LAB- Weave Net Implementation
- What is a Kubernetes Network Policy?
- Creating Your First NetworkPolicy Definition
- How can we fine-tune Network Policy using selectors?
- Deny Ingress Traffic That Has No Rules
- Deny Egress Traffic That Has No Rules
- Allow All Ingress Traffic Exclusively
- Allow All Egress Traffic Exclusively
- Monitoring in Kubernetes
- Core Monitoring Pipeline
- Services Monitoring Pipeline
- What should you consider in Kubernetes Services Pipeline?
- What about Metrics Visualization?
- Changes To Watch For
- What is Helm?
- Installing a Helm Chart
- Helm Charts
- Helm Chart Hooks
- Helm Chart Testing
- Helm Chart Repository
- Ajeet Singh Raina
- Sangam Biradar
- Mewantha Bandara
- Rachit Mehrotra
- Saiyam Pathak
- Divyajeet Singh
- Apurva Bhandari
git clone https://github.com/collabnix/kubelabs
Add the following entry for local access
url: http://127.0.0.1:4000
docker run --rm \
-v "$PWD:/srv/jekyll" \
-e BUNDLE_PATH="/srv/jekyll/.bundles_cache" \
-p 4000:4000 \
jekyll/builder:3.8 \
bash -c "gem install bundler && bundle install && bundle exec jekyll serve --host 0.0.0.0 --verbose --config _config.yml,_config_dev.yml"