Computer ScienceNetworking & SystemsMedium

Kubernetes

Also known as:K8sContainer Orchestration Platform

Kubernetes (K8s) is an open-source container orchestration system originally developed by Google that automates the deployment, scaling, load balancing, and self-healing of containerized applications across clusters of machines. It abstracts the underlying infrastructure, allowing developers to declare desired application state (via YAML manifests) while Kubernetes continuously reconciles the actual state to match. Kubernetes has become the de facto standard for running production-grade microservices workloads, supported by all major cloud providers (AWS EKS, Google GKE, Azure AKS).

Key Kubernetes Objects and Their Roles

ObjectPurposeManages
PodSmallest deployable unitOne or more containers
DeploymentManages pod replicasRolling updates and rollbacks
ServiceNetwork access to podsLoad balancing and discovery
ConfigMapNon-secret configurationEnvironment variables and config files
NamespaceLogical cluster partitionResource isolation per team/environment

Interactive Tools

Kubernetes Official Docs

Open Tool

Play with Kubernetes

Open Tool

Killercoda K8s Playground

Open Tool
Kubernetes logo — the helm wheel symbol representing container orchestration

Wikimedia Commons, CC BY-SA

Related Terms

Computer Science

Docker

Docker is an open-source platform that uses OS-level virtualization to package applications and their dependencies into lightweight, portable units called containers, ensuring consistent execution across any computing environment. Unlike virtual machines that emulate entire hardware stacks, Docker containers share the host OS kernel and isolate the application's filesystem, processes, and network using Linux namespaces and cgroups. Docker has revolutionized software delivery by enabling the "build once, run anywhere" paradigm, drastically reducing environment-related deployment failures.

Computer Science

Microservices Architecture

Microservices architecture is a software design approach where an application is structured as a collection of small, independently deployable services, each responsible for a specific business capability and communicating over well-defined APIs. Unlike monolithic architectures where all components share a single codebase and runtime, microservices can be developed, deployed, and scaled independently using different programming languages and data stores. This pattern enables large engineering teams to work in parallel, improves fault isolation, and supports continuous delivery pipelines at scale.

Computer Science

Distributed Systems

A distributed system is a collection of independent computers that appear to users as a single coherent system, coordinating their actions by passing messages over a network to achieve a common computational goal. Key challenges in distributed systems include handling partial failures (where some nodes crash but others continue), achieving consensus on shared state, ensuring data consistency across replicas, and tolerating network partitions. Modern distributed systems underpin the internet's most critical infrastructure — from Google's search index and Amazon's shopping cart to financial clearing systems and distributed databases.

Kubernetes comes from the Greek word "kybernetes" (κυβερνήτης), meaning helmsman or pilot of a ship. The abbreviation K8s replaces the 8 letters between K and s. It was open-sourced by Google in 2014, rooted in their internal Borg and Omega cluster management systems.

kubernetesorchestrationcontainersdevopscloudscaling