Deployment v Kubernetes

Obecne

Deployment v Kubernetes je mocný nástroj pro správu a nasazení aplikací. Umožňuje snadné provádění aktualizací, škálování a zajištění dostupnosti aplikací, čímž výrazně zjednodušuje správu aplikací v produkčním prostředí.

Deployment v Kubernetes je klíčovým zdrojovým objektem, který poskytuje deklarativní způsob správy aplikací. Deployment se používá k nasazení a správě replikovaných aplikací, což zajišťuje jejich dostupnost a škálovatelnost. Pomocí Deploymentu můžete snadno provádět různé úkoly, jako je škálování aplikací nahoru nebo dolů, aktualizace aplikací na nové verze a obnova aplikací po výpadcích.

Hlavní funkce Deploymentu

Vytvoření Deploymentu

Deployment se obvykle vytváří pomocí YAML manifestu nebo pomocí příkazu kubectl create.

YAML Příklad

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

Nasazení Deploymentu

Deployment můžete nasadit pomocí příkazu kubectl apply:

kubectl apply -f nginx-deployment.yaml

Škálování Deploymentu

Počet replik v Deploymentu můžete změnit pomocí příkazu kubectl scale:

kubectl scale deployment nginx-deployment --replicas=5

Aktualizace Deploymentu

Pro aktualizaci obrazu kontejneru v Deploymentu použijte příkaz kubectl set image:

kubectl set image deployment/nginx-deployment nginx=nginx:1.16.0

Rollback Deploymentu

Pokud potřebujete vrátit změny, můžete použít příkaz kubectl rollout undo:

kubectl rollout undo deployment/nginx-deployment

Monitoring a správa Deploymentu

Pro sledování stavu Deploymentu a rolloutů můžete použít následující příkazy:

kubectl get deployments
kubectl describe deployment nginx-deployment
kubectl rollout status deployment/nginx-deployment