Kubernetes Deployments

Managing deployments

List Deployments

kubectl get deployments # list deployments
kubectl get deploy # list deployments (short)
kubectl get deploy -A # list in all namespaces

Create Deployment

kubectl create deployment nginx --image=nginx # create deployment
kubectl create deployment nginx --image=nginx --replicas=3 # with replicas
kubectl apply -f deployment.yaml # create from file

Update Deployment

kubectl set image deployment/nginx nginx=nginx:1.16 # update image
kubectl edit deployment nginx # edit deployment
kubectl apply -f deployment.yaml # update from file

Scale Deployment

kubectl scale deployment nginx --replicas=5 # scale to 5 replicas
kubectl autoscale deployment nginx --min=2 --max=10 # auto-scale

Rollout Management

kubectl rollout status deployment nginx # check rollout status
kubectl rollout history deployment nginx # view rollout history
kubectl rollout undo deployment nginx # rollback to previous
kubectl rollout undo deployment nginx --to-revision=2 # rollback to specific revision

Delete Deployment

kubectl delete deployment nginx # delete deployment
kubectl delete -f deployment.yaml # delete from file