Kubernetes (K8s)

Master container orchestration with comprehensive training on Kubernetes architecture, workloads, networking, and production best practices.

Advanced 20+ Core Topics

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