Glossary · Cloud & DevOps

What is Kubernetes?

Short answer

Kubernetes (K8s) is an open-source platform that runs containerised applications across a cluster of machines. You declare what you want, such as five copies of an API container with a certain amount of memory, and Kubernetes schedules, restarts, scales and connects those containers to keep the system in that state. It originated at Google and is maintained by the CNCF.

Core concepts

  • Pod: the smallest unit, one or more containers that run together.
  • Deployment: keeps a number of identical pods running and rolls out new versions gradually.
  • Service: a stable network address that load-balances across pods.
  • Ingress: routes outside HTTP traffic to services.
  • ConfigMap and Secret: configuration and credentials injected into pods.

You describe these in YAML files and apply them; Kubernetes continuously works to make reality match the description.

Do you need it?

Kubernetes shines for organisations running many services with dedicated platform engineers. For a single application or a small team, managed alternatives such as container services from cloud providers, platform-as-a-service offerings or serverless and edge platforms usually deliver the same reliability with far less operational work. Managed Kubernetes (EKS, GKE, AKS) removes some of the burden but not the complexity of running workloads on it.

Running PHP on Kubernetes

A typical setup runs PHP-FPM and Nginx (or FrankenPHP) containers, queue workers as a separate deployment, and scheduled tasks as CronJobs, with sessions and cache in Redis so any pod can serve any request.

Published · Updated · By · All terms

Go deeper