WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Kubernetes · Basic · question 16 of 100

What is a Kubernetes Deployment and why is it important?

📕 Buy this interview preparation book: 100 Kubernetes questions & answers — PDF + EPUB for $5

A Deployment in Kubernetes is a higher-level abstraction that is used to manage the lifecycle of Pods. Deployments are used to ensure that a specified number of replica Pods are running at all times, and can be used to manage rolling updates and rollbacks of application versions.

Here are some of the key features and benefits of using Deployments in Kubernetes:

Rolling Updates: Deployments can be used to manage rolling updates of application versions, ensuring that new versions are deployed gradually to minimize downtime and risk.

Rollbacks: Deployments can be used to manage rollbacks of application versions, allowing users to quickly and easily revert to a previous version in the event of an issue.

Scaling: Deployments can be used to manage the scaling of applications, ensuring that the desired number of replica Pods are running at all times.

Self-healing: Deployments can be used to manage the self-healing of applications, automatically replacing failed Pods with new replicas to maintain the desired state.

Here’s an example of using kubectl to create a Deployment in Kubernetes:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-container
        image: my-image:latest
        ports:
        - containerPort: 80

This Deployment creates three replicas of a Pod template that runs a container called my-container using the image my-image:latest. The selector field specifies that the Pods should be labeled with app: my-app, and the replicas field specifies that there should be three replicas running at all times.

Here’s an example of using kubectl to update a Deployment in Kubernetes:

kubectl set image deployment/my-app my-container=my-image:2.0

This command updates the Deployment my-app to use version 2.0 of the my-image container.

In conclusion, a Deployment in Kubernetes is a higher-level abstraction that is used to manage the lifecycle of Pods. Deployments provide features such as rolling updates, rollbacks, scaling, and self-healing, making it easier to manage and maintain containerized applications in a Kubernetes cluster. Understanding how to use Deployments is essential for managing and deploying containerized applications in a Kubernetes cluster.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Kubernetes interview — then scores it.
📞 Practice Kubernetes — free 15 min
📕 Buy this interview preparation book: 100 Kubernetes questions & answers — PDF + EPUB for $5

All 100 Kubernetes questions · All topics