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.
Deployment se obvykle vytváří pomocí YAML manifestu nebo pomocí příkazu kubectl create
.
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
Deployment můžete nasadit pomocí příkazu kubectl apply
:
kubectl apply -f nginx-deployment.yaml
Počet replik v Deploymentu můžete změnit pomocí příkazu kubectl scale
:
kubectl scale deployment nginx-deployment --replicas=5
Pro aktualizaci obrazu kontejneru v Deploymentu použijte příkaz kubectl set image
:
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.0
Pokud potřebujete vrátit změny, můžete použít příkaz kubectl rollout undo
:
kubectl rollout undo deployment/nginx-deployment
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