Overview
Kubernetes is the industry-standard platform for container orchestration, automating deployment, scaling, and management of containerized applications. This training covers everything from basic concepts to advanced production patterns used in enterprise environments.
Core Concepts
Understanding the fundamental building blocks of Kubernetes is essential for effective cluster management.
- Pods - Smallest deployable units in Kubernetes
- ReplicaSets - Ensure desired number of pod replicas
- Deployments - Declarative updates for Pods and ReplicaSets
- Services - Network abstraction for pods
- Namespaces - Virtual clusters within a cluster
Workload Management
Kubernetes supports various workload types for different application patterns.
- StatefulSets - For stateful applications with persistent storage
- DaemonSets - Run a pod on every node
- Jobs & CronJobs - Batch and scheduled workloads
- Horizontal Pod Autoscaler (HPA) - Automatic scaling
Networking
Master Kubernetes networking for service discovery and external access.
- Service Types - ClusterIP, NodePort, LoadBalancer
- Ingress - HTTP/HTTPS routing and load balancing
- Network Policies - Pod-level firewall rules
- DNS & Service Discovery - CoreDNS configuration
Storage
Persistent storage options for stateful applications in Kubernetes.
- Persistent Volumes (PV) - Cluster storage resources
- Persistent Volume Claims (PVC) - Storage requests
- Storage Classes - Dynamic volume provisioning
- ConfigMaps & Secrets - Configuration management
Sample Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.21
ports:
- containerPort: 80
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- port: 80
targetPort: 80
type: LoadBalancer
Helm Package Manager
Helm simplifies Kubernetes application deployment through reusable charts.
- Chart Structure - Templates, values, and dependencies
- Helm Repositories - Public and private chart repos
- Release Management - Install, upgrade, rollback
Kubectl Essential Commands
# Get cluster info
kubectl cluster-info
# List all pods in all namespaces
kubectl get pods --all-namespaces
# Describe a specific pod
kubectl describe pod <pod-name>
# View pod logs
kubectl logs -f <pod-name>
# Execute command in pod
kubectl exec -it <pod-name> -- /bin/bash
# Apply configuration
kubectl apply -f deployment.yaml
# Scale deployment
kubectl scale deployment nginx --replicas=5
# Rolling update
kubectl set image deployment/nginx nginx=nginx:1.22
# Rollback deployment
kubectl rollout undo deployment/nginx
Kubernetes Certifications
- CKAD - Certified Kubernetes Application Developer
- CKA - Certified Kubernetes Administrator
- CKS - Certified Kubernetes Security Specialist
Want this training for your team?
I deliver hands-on sessions tailored to your stack, level and goals.