Skip to main content

Deployments - recapitulare

Vom face o reamintire rapidă despre Deployments și rollback.

Legat de istoricul versiunilor unui deployment, de a da rollback unui deployment și de statusul unuia, avem următoarele comenzi mai jos:

# Istoric
kubectl rollout history deployment/<nume>

# Rollback
kubectl rollout undo deployment/<nume>

# Status
kubectl rollout status deployment/<nume>

Exemplu de deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
name: recap-app
labels:
app: recap-app
version: "1"
spec:
replicas: 3
selector:
matchLabels:
app: recap-app
template:
metadata:
labels:
app: recap-app
version: "1"
spec:
containers:
- name: nginx
image: nginx:1.21
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: recap-app-service
spec:
type: LoadBalancer
selector:
app: recap-app
ports:
- port: 80
targetPort: 80
Task

Lansați deployment-ul de mai sus (puteți să îl scrieți într-un fișier numit deployment-v1.yaml) și aplicați comenzile de mai jos.

# STEP 1: Deploy aplicatia
kubectl apply -f deployment-v1.yaml

# STEP 2: Verifica istoricul
kubectl rollout history deployment/recap-app

# STEP 3: Actualizeaza (trigger rollout)
kubectl set image deployment/recap-app nginx=nginx:1.23

# STEP 4: Verifica update-ul
kubectl rollout status deployment/recap-app
kubectl rollout history deployment/recap-app

# STEP 5: Rollback (optional)
kubectl rollout undo deployment/recap-app

# CLEANUP

kubectl delete deployment recap-app
kubectl delete service recap-app-service

Fiecare secțiune dintre cele următoare din laborator va arăta câte o strategie de deployment.