Docker och Kubernetes

Introduktion till Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Verktyg för containerorkestrering

verktyg för containerorkestrering

  • Moderna mjukvarustackar består ofta av tusentals enskilda containrar
  • Att hantera alla dessa containrar kallas containerorkestrering – flera verktyg för containerorkestrering finns
  • Kubernetes beräknas ha en marknadsandel på över 95 %
Introduktion till Kubernetes

Kubernetes för orkestrering

  • Kubernetes löser de vanligaste utmaningarna med containerorkestrering, t.ex.,
    • schemaläggning och nätverkning (var en container ska driftsättas och hur de kopplas ihop)
    • hur lagring kopplas till en container
  • För detta interagerar Kubernetes med containermotorer.

Kubernetes och Docker

Introduktion till Kubernetes

Relationen mellan Docker och Kubernetes

  • Docker är ofta den containermotor du väljer
  • Kubernetes interagerar med Docker som containermotor för att schemalägga och underhålla containrar
  • Docker används typiskt för två uppgifter:
    • skapa och uppdatera Docker-avbildningar
    • starta containrar från sådana avbildningar
  • Kubernetes skapar aldrig Docker-avbildningar – det gör du med Docker
Introduktion till Kubernetes

Kubernetes-manifest

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-objekt (t.ex. containrar) beskrivs i så kallade Kubernetes-manifest
  • Manifest är YAML-filer som beskriver vilka objekt du vill ha, hur de ska konfigureras, var de ska schemaläggas och mycket mer
  • Manifest är deklarativa – du beskriver vad du vill ha, eller vilket tillstånd som ska uppnås
  • De är inte imperativa – du beskriver inte hur det ska uppnås
Introduktion till Kubernetes

kubectl

kubectl och Kubernetes

  • kubectl är ett kommandoradsverktyg för att interagera med Kubernetes
  • kubectl innehåller många kommandon och alternativ
  • kubectl läser ditt manifest, skickar det till Kubernetes via dess API, och Kubernetes beräknar vad som krävs för att nå önskat tillstånd
  • Uttalas cube cuddle ;-)
Introduktion till Kubernetes

Nu kör vi en övning!

Introduktion till Kubernetes

Preparing Video For Download...