Platform Guide

Kubernetes Orchestration The Complete Guide

Orchestration is what turns a pile of servers into a platform: declared state, continuous reconciliation, and a scheduler that never sleeps. Here's how it actually works — and what it takes to run it well in production.

66%

of orgs run AI workloads on Kubernetes (CNCF)

5.6M+

developers use Kubernetes worldwide

3

reconciliation layers doing the real work

10+ yrs

THNKBIG production Kubernetes

Definition

What is Kubernetes orchestration?

Kubernetes orchestration is the automated placement, scaling, healing, and networking of containerized workloads across a fleet of machines. The phrase "container management" undersells it. The real idea is desired-state reconciliation: you declare the outcome you want — "run five replicas of this API, give each two CPU cores, spread them across availability zones" — and the system works continuously to make reality match. Not once at deploy time. Continuously.

That single design decision is why Kubernetes won. A deploy script executes and exits; if a node dies at 3 a.m., the script doesn't care. A reconciliation loop notices the gap between declared and observed state — five replicas desired, three running — and closes it, every time, without being asked. Everything Kubernetes does well is a consequence of that loop.

The loop runs at three layers: cluster-level controllers reconcile workload objects, the scheduler reconciles unplaced pods against available nodes, and the kubelet on every node reconciles what's actually running against what it was assigned. Four control-plane components make it all work:

API Server

The front door

Every request — from kubectl, from controllers, from the kubelet on each node — goes through the API server. It validates the request, persists the result to etcd, and notifies watchers. Nothing talks to the database directly; the API server is the single point of consistency for the entire cluster.

Scheduler

The matchmaker

The Kubernetes scheduler watches for pods with no assigned node and picks one. It filters nodes that can't run the pod (insufficient CPU, missing GPU, taints, affinity rules), scores the survivors for best fit, and binds the pod to the winner. Bin-packing, spreading, and GPU placement all happen here.

Controller Manager

The reconciler

Runs the control loops that do the actual orchestrating: the Deployment controller creates ReplicaSets, the ReplicaSet controller creates pods, the node controller evicts workloads from dead nodes. Each loop compares desired state with observed state and closes the gap — forever.

etcd

The source of truth

A distributed key-value store holding the entire cluster state: every object you've applied and every status the system has recorded. Lose etcd and you lose the cluster's memory, which is why backing it up (and encrypting it at rest) is non-negotiable in production.

Capabilities

What Orchestration Actually Automates

Six categories of work your team stops doing by hand. Each one used to be a runbook, a pager rotation, or a spreadsheet.

Scheduling & Bin-Packing

Placing each workload on the node where it fits best — packing for utilization, spreading for resilience, and honoring hardware constraints like GPUs and local NVMe.

  • Resource requests & limits
  • Node affinity & anti-affinity
  • Taints and tolerations
  • Topology spread constraints

Self-Healing

Failed containers restart, pods on dead nodes reschedule elsewhere, and traffic only reaches pods that pass their health probes. Nobody gets paged to do any of it.

  • Liveness & readiness probes
  • Automatic restarts
  • Node failure rescheduling
  • PodDisruptionBudgets

Autoscaling

Three layers: HPA adds pod replicas under load, VPA right-sizes each pod's requests, and the Cluster Autoscaler or Karpenter adds and removes the nodes underneath.

  • Horizontal Pod Autoscaler (HPA)
  • Vertical Pod Autoscaler (VPA)
  • Cluster Autoscaler / Karpenter
  • Custom & external metrics

Rollouts & Rollbacks

Deployments replace pods gradually, watching health as they go. A bad release stops propagating on failed probes, and one command returns you to the previous version.

  • Rolling updates with surge control
  • Automated rollback
  • Canary & blue-green patterns
  • Revision history

Service Discovery & Load Balancing

Every Service gets a stable DNS name and virtual IP; traffic spreads across healthy pods automatically as they come and go. No hardcoded addresses, no manual pool edits.

  • Cluster DNS (CoreDNS)
  • Services & EndpointSlices
  • Ingress / Gateway API
  • East-west traffic distribution

Storage Orchestration

PersistentVolumeClaims decouple workloads from storage details. The right volume is provisioned, attached to whichever node the pod lands on, and follows the pod when it moves.

  • Dynamic provisioning (CSI)
  • StorageClasses per tier
  • StatefulSets for ordered state
  • Volume snapshots & expansion
Autoscaling in Practice

How the Horizontal Pod Autoscaler (HPA) decides

HPA is the workhorse of Kubernetes autoscaling, and it's simpler than most teams expect. Every 15 seconds it compares an observed metric against your target and computes:

desiredReplicas = ceil( currentReplicas × currentMetric ÷ targetMetric )

Four replicas averaging 80% CPU against a 50% target become ceil(4 × 80/50) = 7. Scale-down waits out a five-minute stabilization window so brief dips don't thrash the fleet. The two failure modes we fix most often: pods with no resource requests (HPA has nothing to compute against) and CPU targets on memory-bound or queue-bound services — the fix is scaling on the metric that actually constrains you, like requests per second or queue depth.

HPA handles replicas; the Vertical Pod Autoscaler right-sizes each pod's requests from observed usage; and Cluster Autoscaler or Karpenter adds and removes the nodes underneath. Production platforms run all three layers together — pods scale out, pods stay right-sized, and the infrastructure bill follows the workload down as well as up.

Platform Choice

Choosing Where to Run It

The orchestration model is identical everywhere — the Kubernetes API is the whole point. What differs is who operates the control plane and where your data is allowed to live.

Self-Managed (RKE2, kubeadm, Harvester) Managed (EKS, AKS, GKE, DOKS)
Control-plane operations Yours: etcd backups, upgrades, HA topology Provider-run, upgraded on your schedule
Where it can run Anywhere — data center, edge, air-gapped That provider's cloud only
Compliance & data control Full control; required for many regulated and sovereign workloads Shared-responsibility model; regional and FedRAMP options vary
Cost shape Hardware + platform engineering time Control-plane fee + nodes + cloud networking egress
Typical fit RKE2, Harvester, kubeadm on metal or VMs EKS, AKS, GKE, DOKS

What a production EKS cluster actually needs

EKS is the most common managed choice we're asked about, and the control plane is the easy 5% — about $73 a month and AWS's problem to keep alive. The other 95% is yours:

IRSA — IAM Roles for Service Accounts, so pods get scoped AWS credentials instead of node-wide ones
Karpenter or managed node groups — Karpenter provisions right-sized nodes in seconds and consolidates them when load drops
VPC CNI planning — every pod takes a VPC IP; undersized subnets stall scheduling at the worst possible moment
Control-plane logging — API server audit logs to CloudWatch; off by default, required by every framework you'll ever be audited against
Upgrade cadence — EKS versions exit standard support after ~14 months; falling behind converts a routine upgrade into a migration project
Cost hygiene — the surprises are NAT gateway data processing, cross-AZ traffic, and idle over-provisioned nodes, not the cluster fee
Day 2

Orchestration at Day 2: Where Teams Stall

Standing up a cluster takes an afternoon. Operating one is the actual job — and it's where most Kubernetes initiatives lose momentum. Only 7% of organizations deploy AI workloads daily; the gap between adopting Kubernetes and operating it well is the reason.

1

GitOps Delivery

Cluster state lives in Git; Argo CD or Flux continuously reconciles the cluster to match. Drift becomes visible, rollbacks become a revert, and 'who changed what' is answered by commit history.

Argo CD / Flux install
App-of-apps structure
Drift detection & alerts
Progressive delivery
2

Observability

Metrics, logs, and traces wired before the first incident, not after. Autoscaling is only as good as the metrics pipeline feeding it.

Prometheus + metrics-server
Centralized logging
Distributed tracing
SLO-based alerting
3

Policy & Security

Admission policies decide what's allowed to run: no privileged pods, signed images only, resource limits mandatory. Enforced by the platform, not by code review.

Pod Security admission
Kyverno / OPA policies
NetworkPolicies
Image signing & scanning
4

Upgrades & Lifecycle

Kubernetes ships three releases a year and supports roughly one year back. A tested, boring upgrade cadence is the difference between a platform and a liability.

Quarterly upgrade cadence
API deprecation scanning
Node pool rotation
Backup & restore drills
AI Workloads

Orchestrating AI and GPU Workloads

AI turned the scheduler into the most expensive component in the cluster. When the hardware under a pod costs six figures, bin-packing quality is a budget line, not an implementation detail. The same orchestration model covered above extends to GPUs through device plugins and the NVIDIA GPU Operator: workloads request nvidia.com/gpu resources, the scheduler places them on GPU nodes, and MIG or time-slicing splits large GPUs across smaller inference workloads that would otherwise strand capacity.

This is why 66% of organizations already run AI workloads on Kubernetes — and it's the foundation of the sovereign AI pattern, where models, data, and inference stay inside your perimeter on orchestration you control. If that's the problem on your desk, the companion guide to this one is Sovereign AI: Running Production AI Inside Your Perimeter.

FAQ

Frequently Asked Questions

Kubernetes orchestration is the automated placement, scaling, healing, and networking of containerized workloads across a fleet of machines. You declare the state you want — 'run five replicas of this service, give each 2 CPU cores, keep them spread across zones' — and Kubernetes control loops continuously reconcile reality to match that declaration. When a container crashes, a node dies, or traffic spikes, the system corrects course without human intervention.
Both schedule containers across multiple hosts, but Kubernetes has a far richer orchestration model: declarative controllers for every workload shape (Deployments, StatefulSets, DaemonSets, Jobs), three layers of autoscaling, an extensible scheduler that understands GPUs and topology, and an ecosystem (Helm, Argo CD, operators, service meshes) that Swarm never developed. Swarm is simpler to start with, but nearly all production container orchestration today — including every major managed service — is Kubernetes.
The Horizontal Pod Autoscaler (HPA) adjusts replica counts based on observed metrics. Its core formula: desiredReplicas = ceil(currentReplicas × currentMetric ÷ targetMetric). If 4 replicas average 80% CPU against a 50% target, HPA scales to ceil(4 × 80/50) = 7 replicas. It checks every 15 seconds by default, respects min/max bounds, and applies a stabilization window on scale-down so brief dips don't cause churn. HPA can also scale on memory, custom metrics like queue depth, or external metrics like requests per second.
If you run a handful of services on a couple of VMs and deployments are rare, plain Docker with a deploy script may be all you need. Orchestration earns its complexity when you have many services, need zero-downtime deploys, run on more than a few nodes, or face availability requirements a single machine can't meet. A managed cluster (EKS, AKS, GKE, DOKS) lowers the entry cost substantially — small teams should almost never operate their own control plane.
Default to managed unless you have a reason not to. The good reasons: regulated or sovereign workloads that can't leave your perimeter, edge locations, GPU economics that favor owned hardware, or an existing data-center investment. In those cases a self-managed distribution like RKE2 (with Harvester for virtualization) gives you the same Kubernetes API with full control of the stack. Many of our clients run both — managed in the cloud, RKE2 on-prem — under one GitOps workflow.
The control plane itself is the easy part (about $73/month). Production readiness is the work around it: IAM Roles for Service Accounts (IRSA) so pods get scoped AWS credentials, Karpenter or managed node groups for compute, VPC CNI IP planning so you don't exhaust subnet addresses, control-plane logging to CloudWatch, cluster add-on lifecycle management, and an upgrade path — EKS versions leave standard support after roughly 14 months. Most EKS cost surprises come from NAT gateway data processing, cross-AZ traffic, and over-provisioned nodes, not the cluster fee.
AI made the scheduler the most expensive line item in the cluster. GPUs are scarce and costly, so bin-packing quality directly determines how much of your hardware spend does useful work. Kubernetes handles GPU orchestration through device plugins, NVIDIA GPU Operator, fractional-GPU techniques like MIG and time-slicing, and gang-scheduling for distributed training. That's why 66% of organizations now run AI workloads on Kubernetes — it's the same orchestration model, applied to the hardware that matters most.
Kubernetes Consulting

Orchestration Working Against You Instead of For You?

Our platform engineers operate Kubernetes fleets across RKE2, EKS, AKS, GKE, and bare metal — scheduling, autoscaling, GitOps, and GPU platforms included. A short conversation will tell you whether your cluster problems are configuration, architecture, or operations.

Talk to a Platform Engineer

Why Kubernetes Became the Standard for Container Orchestration

Container orchestration existed before Kubernetes — Mesos, Docker Swarm, Nomad, and a generation of homegrown schedulers all solved pieces of the problem. Kubernetes won because it standardized the interface, not just the implementation. The Kubernetes API is the same whether the cluster runs on a laptop, in a hyperscaler's managed service, or on bare metal in your own data center. That portability is what lets an organization write a Deployment manifest once and run it on an EKS cluster today, an RKE2 cluster in a sovereign environment tomorrow, and an edge cluster next quarter — with identical GitOps tooling, identical policies, and identical operational muscle memory. For technology leaders, the strategic value of Kubernetes orchestration is exactly this: it converts infrastructure from a set of vendor-specific decisions into a commodity substrate with one control language.

The failure mode we see most often is treating orchestration as an installation problem instead of an operating discipline. A cluster that runs is not a platform; a platform has automated upgrades, enforced policies, observable workloads, tested restore procedures, and a delivery pipeline that reconciles Git to the cluster without a human copying YAML. Teams that stall at day 2 usually have capable engineers stretched across too many concerns — they built the cluster, but nobody owns the operating model. That gap is precisely where THNKBIG engages: our platform engineers install the operating discipline around orchestration — GitOps with Argo CD, policy with Kyverno, autoscaling tuned to the metrics that matter, and upgrade cadences that keep clusters inside their support windows — then transfer the practice to your team.

AI has raised the stakes on all of it. GPU nodes can cost thirty times what general-purpose nodes cost, so the scheduler's placement decisions now carry direct financial weight, and idle accelerators are the most expensive form of waste in the modern data center. Kubernetes orchestration answers with GPU-aware scheduling, fractional GPU sharing through MIG and time-slicing, gang scheduling for distributed training, and autoscaling driven by inference queue depth rather than CPU. Whether those GPUs live in a managed cloud or inside your own perimeter as part of a sovereign AI platform, the orchestration layer is the same — which is why getting Kubernetes right is the prerequisite for getting AI infrastructure right.

Ready to make AI operational?

Whether you're planning GPU infrastructure, stabilizing Kubernetes, or moving AI workloads into production — we'll assess where you are and what it takes to get there.

US-based team · All US citizens · Continental United States only