Kubernetes Features
A comprehensive walkthrough of Kubernetes' core features — from self-healing and auto-scaling to rolling updates, service discovery, storage management, and security.
06 — Kubernetes Features
“Kubernetes does for your application what a seasoned operations team would do — but automatically, at scale, 24/7.”
📌 Table of Contents
- Feature Overview
- 1. Automatic Bin Packing
- 2. Self-Healing
- 3. Horizontal Scaling
- 4. Rolling Updates & Rollbacks
- 5. Service Discovery & Load Balancing
- 6. Storage Orchestration
- 7. Secret & Configuration Management
- 8. Batch Execution
- 9. IPv4/IPv6 Dual Stack
- 10. Extensibility
- Feature Summary Table
Feature Overview
1. Automatic Bin Packing
Kubernetes automatically places containers onto nodes based on resource requirements (CPU, memory) and constraints — maximising utilisation without sacrificing availability.
💡 This is like a smart packing algorithm — fitting containers into nodes to minimise waste, similar to packing items into the fewest boxes possible.
2. Self-Healing
Kubernetes continuously monitors containers and nodes, automatically responding to failures.
Self-Healing in Action
3. Horizontal Scaling
Kubernetes can scale the number of pod replicas up or down automatically based on CPU, memory, or custom metrics.
Horizontal Pod Autoscaler (HPA)
YAML Example
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: web-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: web-app
minReplicas: 1 # Minimum pods (cost saving)
maxReplicas: 20 # Maximum pods (cost cap)
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70 # Scale when CPU > 70%
4. Rolling Updates & Rollbacks
Kubernetes updates applications incrementally — replacing old pods with new ones in a controlled manner, ensuring zero downtime.
Rolling Update Strategy
Rollback — One Command
# Deploy a bad version
kubectl set image deployment/web-app web-app=myapp:v2.0-broken
# Detect problem — immediately rollback
kubectl rollout undo deployment/web-app
# Or rollback to a specific revision
kubectl rollout undo deployment/web-app --to-revision=3
# Check rollout history
kubectl rollout history deployment/web-app
5. Service Discovery & Load Balancing
Kubernetes provides built-in service discovery using DNS. Every Service gets a stable DNS name and IP, regardless of which pods are running underneath.
Types of Kubernetes Services
| Type | Use Case | Accessible From |
|---|---|---|
| ClusterIP | Internal communication between services | Inside cluster only |
| NodePort | Expose app on a specific port of each node | External (port 30000–32767) |
| LoadBalancer | Provision cloud load balancer | External internet |
| ExternalName | Map to an external DNS name | Inside cluster |
6. Storage Orchestration
Kubernetes can automatically mount and manage storage from various sources — local, NFS, cloud (AWS EBS, GCP PD, Azure Disk).
# Developer just asks for storage
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: database-storage
spec:
storageClassName: fast-ssd
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi # I need 10 GB — K8s provisions it automatically
7. Secret & Configuration Management
Kubernetes separates application configuration from container images — making apps portable across environments without rebuilding.
🔐 Secrets are stored base64-encoded in etcd and can be encrypted at rest. In production, integrate with HashiCorp Vault or cloud KMS for stronger security.
8. Batch Execution
Kubernetes supports Jobs (run-to-completion tasks) and CronJobs (scheduled tasks).
9. IPv4/IPv6 Dual Stack
Kubernetes supports running both IPv4 and IPv6 simultaneously, enabling:
- Services accessible on both IPv4 and IPv6 addresses
- Future-proofing for IPv6-only networks
- Compatibility with existing IPv4 infrastructure
10. Extensibility
Kubernetes is extensible by design — you can add custom resources and controllers.
Popular Kubernetes Operators
| Operator | Manages |
|---|---|
| cert-manager | TLS certificates (Let’s Encrypt) |
| Prometheus Operator | Monitoring stack |
| PostgreSQL Operator | PostgreSQL clusters |
| Argo CD | GitOps deployments |
| Istio | Service mesh |
Feature Summary Table
| # | Feature | What it Does | Key Benefit |
|---|---|---|---|
| 1 | Bin Packing | Optimal container placement on nodes | Maximise resource utilisation |
| 2 | Self-Healing | Auto-restart, replace, and reschedule | No manual intervention |
| 3 | Horizontal Scaling | Add/remove pod replicas automatically | Handle any traffic level |
| 4 | Rolling Updates | Update with zero downtime + rollback | Safe, continuous delivery |
| 5 | Service Discovery | Built-in DNS + load balancing | Simple microservice networking |
| 6 | Storage Orchestration | Auto-provision & mount storage | Persistent data for containers |
| 7 | Config & Secrets | Separate config from code | Portable across environments |
| 8 | Batch Jobs | Run-to-completion & scheduled tasks | Background processing |
| 9 | Dual Stack | IPv4 + IPv6 support | Future-proof networking |
| 10 | Extensibility | CRDs, Operators, Webhooks | Adapt K8s to any use case |
🔗 Further Reading
- Kubernetes Features — Official Docs
- Horizontal Pod Autoscaler Walkthrough
- Kubernetes Operators — Explained
← Previous: 05 - What is Container Orchestration? Next → 07 - Kubernetes Architecture Overview