byteNative
Cloud & DevOps

Kubernetes

Orchestration of containerised workloads, scalable and self-healing.

What is Kubernetes?

Kubernetes orchestrates containerised applications, scales them automatically depending on load and replaces failed instances on its own. You describe the desired state declaratively, and the system continuously works towards reaching and holding it. It is powerful and correspondingly demanding, but in return exceptionally robust and available everywhere, from your own data centre to every major cloud. That portability is one reason it has become the de-facto standard.

More in the documentation

How we use it

We use Kubernetes when your applications need to run reliably and elastically across many servers, without anyone having to get up in the night. The moment several services interact, scale individually and should heal themselves, it shows its strength. For a single small app it is usually too much, so we choose it deliberately rather than by reflex.

yaml
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: registry.example.com/web:1.4.0
          resources:
            limits: { cpu: "500m", memory: "256Mi" }
a deployment with resource limits

Good to know

Without resource limits and liveness probes you give away half the value of Kubernetes. Only when each pod states how much it needs and when it is healthy can the system schedule sensibly and genuinely replace failed instances.

00Cloud & DevOps

More tools we work with in the same area.

Which technology fits you?

You don't have to decide that, it's our job. Tell us about your plans.