Kubernetes (K8s)

Kubernetes je open-source platforma pro orchestraci kontejnerů. Umožňuje automatizovat nasazování, škálování a správu kontejnerizovaných aplikací. Původně byl vyvinut společností Google (založen na interním systému Borg) a nyní je spravován nadací CNCF.

Zatímco Docker definuje, jak kontejner vypadá, Kubernetes určuje, jak se kontejnery chovají v clusteru, jak spolu komunikují a jak se zotavují z chyb.

### 1. Architektura Clusteru Kubernetes cluster se skládá ze dvou hlavních částí:

### 2. Základní objekty (Abstrakce) Kubernetes nepracuje přímo s kontejnery, ale s vyššími objekty:

### 3. Deklarativní konfigurace (YAML) V Kubernetes neříkáme systému „spusť toto“, ale definujeme požadovaný stav v YAML souboru. Kubernetes pak neustále porovnává aktuální stav s tímto zadáním a provádí opravy.

Příklad jednoduchého Deploymentu:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.21
        ports:
        - containerPort: 80

### 4. Klíčové výhody

### 5. Správa pomocí kubectl Hlavním nástrojem pro ovládání clusteru je CLI utilita kubectl.

Příkaz Význam
kubectl get pods Zobrazí seznam běžících Podů.
kubectl apply -f soubor.yaml Nasadí nebo aktualizuje konfiguraci ze souboru.
kubectl logs <pod-name> Zobrazí logy z konkrétního kontejneru.
kubectl scale deployment web –replicas=5 Změní počet instancí aplikace na pět.
kubectl exec -it <pod-name> – bash Otevře interaktivní terminál uvnitř kontejneru.
Zajímavost: Číslo 8 v názvu K8s nahrazuje osm písmen mezi „K“ a „s“ ve slově „K-ubernete-s“ (tzv. numeronym).

Zpět na DevOps