Why Kubernetes Is the Ultimate Cloud‑Native Platform and How It Works
This article provides a comprehensive overview of Kubernetes, explaining its core concepts, advantages, key features, typical use cases, and the new capabilities introduced in version 1.18, while also linking to related tutorials and practical deployment guides for building scalable, resilient cloud‑native applications.
What Is Kubernetes?
Kubernetes (k8s) is an open‑source, portable, extensible platform for managing containerised applications across multiple hosts. It provides mechanisms for rapid deployment, scaling, upgrading and rollback of applications, service discovery, load‑balancing (L4/L7), DNS, and more. The name comes from the Greek word for helmsman, and the project was open‑sourced by Google in 2014, building on over a decade of internal production experience.
Advantages of Kubernetes as a Container‑Orchestration Tool
Flexible deployment : runs on private clouds, public clouds, hybrid clouds, OpenStack, OpenShift, VMware vSphere, virtual machines and bare metal.
Security and audit : fine‑grained RBAC, built‑in audit logging for real‑time operation tracking.
Load balancing : supports both L4 and L7 load‑balancing scenarios.
Strong scalability : automatically adds or removes nodes based on workload.
Intelligent pod scheduling : places pods on nodes with sufficient resources and balances usage across the cluster.
Disaster‑recovery and alerting : multiple backup and failover solutions with near‑instant switchover.
Kubernetes Core Features
Multi‑tenant network isolation : supports plugins such as Flannel, Calico, Cilium; network policies enable isolation per namespace.
High availability and scalability : solutions like keepalived+NGINX or keepalived+HAProxy provide seamless failover.
Persistent storage : local storage (emptyDir, hostPath), network storage (iSCSI, NFS, CIFS), distributed storage (GlusterFS, Ceph block/file), cloud storage (Azure Disk, etc.).
Advanced rollout & rollback : supports blue‑green, canary, and rolling updates via controllers and services.
Elastic scaling : horizontal pod autoscaling (HPA) adjusts replica counts in seconds based on traffic.
Resource optimisation : scales components up or down to save hardware resources.
Application Scenarios
Log management with EFK : deploy Elasticsearch (statefulset), Kibana (deployment) and Fluentd (daemonset) to collect, store and visualise logs; automatic scaling of Fluentd agents and Elasticsearch pods.
DevOps pipelines : Kubernetes provides unified scheduling for containers, integrates with persistent storage, virtual networking and autoscaling, accelerating product iteration.
Micro‑service architecture : offers service discovery (Service), configuration management (ConfigMap), load‑balancing, health checks, autoscaling, monitoring, and fault‑tolerant scheduling.
Jenkins integration : Jenkins master and agents run as pods; failed masters are automatically recreated with attached volumes, ensuring high availability.
Dynamic scaling of CI workers : Jenkins slaves are created on demand as pods and removed after job completion, freeing resources.
Characteristics of Kubernetes
Portability : runs on public, private, hybrid and multi‑cloud environments.
Scalability : can quickly expand node count to handle traffic spikes.
Self‑healing : automatic restarts, replications and scaling.
Process coordination : ensures a one‑to‑one mapping between applications and containers.
Functions Kubernetes Can Perform
Mount storage systems
Distribute secrets and keys
Health checking (livenessProbe, readinessProbe)
Replica management
Horizontal autoscaling
Service discovery and naming
Load balancing
Rolling updates
Resource monitoring
Log access
Self‑diagnosis and debugging
Authentication and authorization
New Features in Kubernetes 1.18+
Kubernetes 1.18, released in 2020, introduced 38 enhancements, of which 15 reached stable, 11 beta and 12 alpha.
Key Additions
Kubernetes Topology Manager (beta) : aligns CPU and device allocation with NUMA topology to improve performance on multi‑socket systems.
Server‑Side Apply (beta2) : tracks field ownership across objects, enabling more reliable declarative updates.
IngressClass and pathType (stable) : replaces the deprecated kubernetes.io/ingress.class annotation, adds explicit path matching types (Exact, Prefix).
kubectl alpha debug : creates temporary debug containers alongside a pod for interactive troubleshooting.
Windows CSI support (alpha) : introduces a CSI driver for Windows, allowing privileged storage operations on Windows nodes.
Features Graduated to Stable
PodDisruptionBudget improvements kubectl diff CSI block storage support
API Server runtime enhancements
Passing pod information to CSI calls
vSphere Cloud Provider out‑of‑tree support
Windows GMSA support
Skipping non‑attachable CSI volumes
PVC cloning
Moving kubectl code to staging
RunAsUserName for Windows
AppProtocol for Services and Endpoints
Extended huge‑page support
Client‑side signing refactor
Node‑local DNS cache
Major API Changes
EndpointSlice API
CertificateSigningRequest API
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Full-Stack DevOps & Kubernetes
Focused on sharing DevOps, Kubernetes, Linux, Docker, Istio, microservices, Spring Cloud, Python, Go, databases, Nginx, Tomcat, cloud computing, and related technologies.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
