Docker en Kubernetes

Introductie tot Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Tools voor containerorkestratie

tools voor containerorkestratie

  • Moderne softwarestacks bestaan vaak uit duizenden containers
  • Het beheren hiervan heet containerorkestratie; er zijn meerdere containerorkestratietools
  • Kubernetes heeft een geschat marktaandeel van >95%
Introductie tot Kubernetes

Kubernetes voor orkestratie

  • Kubernetes lost typische orkestratie-uitdagingen op, bijv.
    • scheduling en networking (waar een container draait en hoe je ze verbindt)
    • hoe je storage aan een container koppelt
  • Hiervoor werkt Kubernetes met container engines.

Kubernetes en Docker

Introductie tot Kubernetes

De relatie tussen Docker en Kubernetes

  • Vaak is Docker je container-engine naar keuze
  • Kubernetes gebruikt Docker als engine om containers te plannen en te beheren
  • Docker gebruik je meestal voor twee taken:
    • Docker-images maken en updaten
    • containers starten op basis van die images
  • Kubernetes maakt nooit Docker-images; dat doe je met Docker
Introductie tot Kubernetes

Kubernetes Manifests

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 5
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25.4
        ports:
        - containerPort: 80
  • Kubernetes-objecten (bijv. containers) beschrijf je in Kubernetes Manifests
  • Manifests zijn YAML-bestanden die vastleggen welke objecten je wilt, hoe ze worden geconfigureerd, waar ze worden gepland, enz.
  • Manifests zijn declaratief: je beschrijft wat je wilt, de gewenste state
  • Ze zijn niet imperatief: je beschrijft niet hoe je dat bereikt
Introductie tot Kubernetes

kubectl

kubectl en Kubernetes

  • kubectl is een command-line tool om met Kubernetes te werken
  • kubectl heeft veel commands en opties
  • kubectl leest je Manifest, stuurt het via de API naar Kubernetes, en Kubernetes bepaalt wat nodig is om de gewenste state te bereiken
  • Uitspraak: cube cuddle ;-)
Introductie tot Kubernetes

Laten we oefenen!

Introductie tot Kubernetes

Preparing Video For Download...