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:
vyvoj, test, produkce).### 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).