Deployments
A Deployment provides declarative updates for Pods and ReplicaSets.
You describe a desired state in a Deployment, and the Deployment Controller changes the actual state to the desired state at a controlled rate.
Creating a Deployment
The following is an example of a Deployment:
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
To create this Deployment, run:
kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml
Updating a Deployment
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1
Rolling Back a Deployment
kubectl rollout undo deployment/nginx-deployment
Scaling a Deployment
kubectl scale deployment/nginx-deployment --replicas=10