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 14 of 100

Describe the role of a Kubernetes ConfigMap.?

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

A ConfigMap in Kubernetes is a way to store configuration data as key-value pairs that can be used by containers in a Pod. ConfigMaps are used to separate configuration data from the application code, making it easier to manage and update configuration data without having to rebuild or redeploy the application.

Here are some common use cases for ConfigMaps in Kubernetes:

Application configuration: ConfigMaps can be used to store application configuration data such as database connection strings, API keys, and other environment-specific settings.

Environment variables: ConfigMaps can be used to set environment variables that are used by containers in a Pod. This allows for greater flexibility in configuring containers and makes it easier to change environment variables without having to rebuild or redeploy the container image.

Command-line arguments: ConfigMaps can be used to set command-line arguments for containers in a Pod. This allows for greater flexibility in configuring containers and makes it easier to change command-line arguments without having to rebuild or redeploy the container image.

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

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-config
data:
  database.url: "http://my-database.com"
  api.key: "my-api-key"

This ConfigMap contains two key-value pairs: database.url with a value of http://my-database.com, and api.key with a value of my-api-key. These values can be accessed by containers in a Pod using environment variables or command-line arguments.

Here’s an example of using kubectl to set environment variables using a ConfigMap:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: my-image:latest
    env:
    - name: DATABASE\_URL
      valueFrom:
        configMapKeyRef:
          name: my-config
          key: database.url

This Pod contains a container called my-container that uses the image my-image:latest. The env field sets the environment variable DATABASE_URL to the value of the database.url key in the ConfigMap my-config.

Here’s an example of using kubectl to set command-line arguments using a ConfigMap:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: my-image:latest
    command: ["/bin/my-app"]
    args: ["--api-key=\$(API\_KEY)"]
    env:
    - name: API\_KEY
      valueFrom:
        configMapKeyRef:
          name: my-config
          key: api.key

This Pod contains a container called my-container that uses the image my-image:latest. The command and args fields specify the command-line arguments for the container, with the –api-key argument set to the value of the api.key key in the ConfigMap my-config.

In conclusion, a ConfigMap in Kubernetes is a way to store configuration data as key-value pairs that can be used by containers in a Pod. ConfigMaps are used to separate configuration data from the application code, making it easier to manage and update configuration data without having to rebuild or redeploy the application. Understanding the role of ConfigMaps in Kubernetes is important for managing and configuring 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