Docker a Kubernetes

Úvod do Kubernetes

Frank Heilmann

Platform Architect and Freelance Instructor

Nástroje pro orchestraci kontejnerů

nástroje pro orchestraci kontejnerů

  • Moderní softwarové zásobníky mohou obsahovat tisíce jednotlivých kontejnerů
  • Správa těchto kontejnerů se nazývá Container Orchestration; existuje několik nástrojů pro orchestraci kontejnerů
  • Odhadovaný tržní podíl Kubernetes přesahuje 95 %
Úvod do Kubernetes

Kubernetes pro orchestraci

  • Kubernetes řeší typické výzvy orchestrace kontejnerů, např.:
    • plánování a síťování (kam kontejner nasadit a jak propojit)
    • připojení úložiště ke kontejneru
  • Za tímto účelem Kubernetes spolupracuje s Container Engines.

Kubernetes a Docker

Úvod do Kubernetes

Vztah mezi Dockerem a Kubernetes

  • Docker je nejčastěji používaný container engine
  • Kubernetes spolupracuje s Dockerem pro plánování a správu kontejnerů
  • Docker se typicky používá ke dvěma účelům:
    • vytváření a aktualizace Docker image
    • spouštění kontejnerů z těchto image
  • Kubernetes Docker image nevytváří – k tomu slouží Docker
Úvod do Kubernetes

Kubernetes Manifesty

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
  • Objekty Kubernetes (např. kontejnery) jsou popsány v tzv. Kubernetes Manifestech
  • Manifesty jsou soubory YAML popisující, jaké objekty chcete, jak mají být nakonfigurovány, kde mají být nasazeny a mnoho dalšího
  • Manifesty jsou deklarativní – popisujete co chcete nebo jakého stavu dosáhnout
  • Nejsou imperativnínepopisujete, jak toho dosáhnout
Úvod do Kubernetes

kubectl

kubectl a Kubernetes

  • kubectl je nástroj příkazového řádku pro práci s Kubernetes
  • kubectl nabízí mnoho příkazů a možností
  • kubectl načte váš Manifest, odešle ho do Kubernetes přes API a Kubernetes určí, jak dosáhnout požadovaného stavu
  • Výslovnost: cube cuddle ;-)
Úvod do Kubernetes

Pojďme procvičovat!

Úvod do Kubernetes

Preparing Video For Download...