K8s Rolling Updates and Rollbacks - philipf/notebook GitHub Wiki

YAML

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

Commands

# Perform a rolling update.
kubectl set image deployment/rolling-deployment nginx=nginx:1.7.9 --record

# Explore the rollout history of the deployment.
kubectl rollout history deployment/rolling-deployment
kubectl rollout history deployment/rolling-deployment --revision=2

# You can roll back to the previous revision like so.
kubectl rollout undo deployment/rolling-deployment

# You can also roll back to a specific earlier revision by providing the revision number.
kubectl rollout undo deployment/rolling-deployment --to-revision=1