Skip to main content
Cloud DevOps Solutions
Get a quote Talk to an engineer

Kubernetes

Kubernetes (K8s) is an open-source system for automating the deployment, scaling, and management of containerised applications. It groups containers into logical units (Pods) and manages them across a cluster of nodes.

Kubernetes is a portable, extensible, open-source platform for managing containerised workloads and services. Google open sourced it in 2014, and it is now the most widely used container orchestrator.

How it works

Kubernetes is built around declarative configuration. You describe the desired state in objects, and controllers continuously move the actual state towards it. A cluster has a control plane (the API server, scheduler, controller manager and the etcd data store) and nodes that run workloads through the kubelet and a container runtime.

Documented capabilities include service discovery and load balancing, storage orchestration, automated rollouts and rollbacks, automatic bin packing, self-healing, secret and configuration management, and horizontal scaling.

A Pod is the smallest deployable unit: one or more containers sharing network and storage. A Deployment manages identical Pods and rolling updates. A Service gives a set of Pods a stable name and address. Extension points such as CRDs and operators let you add new behaviour.

A practical example

A minimal Deployment running three replicas:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers: [{name: web, image: nginx}]

If a Pod fails, the Deployment’s controller replaces it to restore three replicas. Applying a changed image triggers a rolling update.

Common mistakes

  • Omitting resource requests and limits, which leads to poor scheduling and noisy neighbours.
  • Using the default namespace for everything instead of structuring with namespaces.
  • Leaving all pod traffic open rather than applying network policies.
  • Granting broad cluster permissions instead of least privilege RBAC.
  • Applying manifests by hand with no version control, rather than a GitOps workflow.
  • Falling behind on upgrades until the cluster version is unsupported.

When to use it and when not to

Kubernetes is a good fit for many services that need scaling, self-healing and consistent deployment across environments. It adds real operational complexity, so a single small application may be better served by a simpler platform or a managed container service. Managed offerings such as EKS, AKS and GKE take over control plane operation.

See also

Last updated: 2026-10-11

Need help with Kubernetes?

Our certified engineers can handle the implementation for you.