WalzoneInterview Prep
πŸ“ž Interviewing soon? Practice with a realistic AI mock phone interview β€” it calls you, then scores you. First 15 min FREE β†’

Kubernetes Β· Intermediate Β· question 37 of 100

Explain the difference between imperative, declarative, and hybrid approaches in managing Kubernetes resources.?

πŸ“• Buy this interview preparation book: 100 Kubernetes questions & answers β€” PDF + EPUB for $5

In Kubernetes, there are different approaches to manage resources such as Pods, Services, Deployments, and ConfigMaps. These approaches are known as the imperative, declarative, and hybrid approaches.

Imperative Approach

The imperative approach to Kubernetes resource management is a command-based approach. It involves using commands to create, update, or delete resources in the cluster. This approach is ideal for simple and one-time operations. It is also suitable for quick testing of resources before creating manifests.

An example of creating a deployment imperatively is:

kubectl create deployment nginx --image=nginx:latest

This command creates a deployment named "nginx" using the latest version of the Nginx image from Docker Hub.

Declarative Approach

The declarative approach to Kubernetes resource management is a YAML-based approach. It involves creating a YAML file that specifies the desired state of the resource, and then applying it to the cluster. This approach is suitable for managing resources in production environments because it provides an audit trail of changes made to resources.

An example of creating a deployment declaratively is:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest

This YAML file specifies a deployment named "nginx" with three replicas and uses the Nginx image from Docker Hub. It also specifies the selector and labels for the deployment.

To apply this YAML file to the cluster, you can use the command:

kubectl apply -f nginx-deployment.yaml

Hybrid Approach

The hybrid approach to Kubernetes resource management combines the imperative and declarative approaches. It involves creating a YAML file that specifies the desired state of the resource, and then using imperative commands to make changes to the resource as needed. This approach is suitable for managing resources in a more dynamic environment, where changes need to be made frequently.

An example of updating the replicas of the nginx deployment created declaratively is:

kubectl scale deployment nginx --replicas=5

This command scales up the "nginx" deployment to five replicas.

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