Kubernetes Deployments

Deployments represent a group of multiple, identical Pods with no distinctive identities. A preparation runs multiple replicas of your application and mechanically replaces any instances that fail or become unresponsive. During this method, Deployments facilitate make sure that one or a lot of instances of your application are offered to serve user requests. Preparations are managed by the Kubernetes Deployment controller.

Changing the Deployment

Updating a deployment − The user can update the ongoing deployment before it is completed.

Deleting a deployment − The user can delete the deployment by deleting it before it is completed.

Rollback a deployment − We can roll back the deployment or the deployment in progress.

Creating a Deployment

Find following Deployment example. It creates a ReplicaSet to bring up three nginx Pods:

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

Run below command to update the deployment

kubectl apply -f https://k8s.io/examples/controllers/nginx-deployment.yaml

Run kubectl get deployments command to check if the Deployment was created or not. If the Deployment is still in process then the output is similar to the following:

NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   0/3     0            0           1s

To see the Deployment rollout status, run.

kubectl rollout status deployment.v1.apps/nginx-deployment.

The output is similar to this:

Waiting for rollout to finish: 2 out of 3 new replicas have been updated...
deployment.apps/nginx-deployment successfully rolled out

Run the kubectl deployments again a few seconds later. The output is similar to this:

NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   3/3     3            3           18s
Subscribe Now