A ConfigMap is a Kubernetes object that stores configuration data as key-value pairs. It helps separate configuration from container images, making apps easier to manage and update.
Click to reveal answer
beginner
How do you use a ConfigMap as a mounted volume in a Pod?
You create a volume in the Pod spec that references the ConfigMap, then mount that volume into a container's file system at a specific path.
Click to reveal answer
intermediate
What happens to the files inside a ConfigMap volume when the ConfigMap is updated?
The files inside the mounted ConfigMap volume are updated automatically within a few seconds, so the container sees the latest config without restarting.
Click to reveal answer
intermediate
Can you mount only specific keys from a ConfigMap as files in a volume?
Yes, you can specify which keys to include or rename them as files using the 'items' field in the volume definition.
Click to reveal answer
beginner
Show a simple YAML snippet to mount a ConfigMap named 'app-config' as a volume at '/etc/config'.
Hint: ConfigMaps as volumes = config files inside container [OK]
Common Mistakes:
Confusing ConfigMaps with persistent storage for logs
Thinking ConfigMaps control CPU or networking
Assuming ConfigMaps require container rebuild
2. Which of the following is the correct YAML snippet to mount a ConfigMap named app-config as a volume in a pod?
easy
A. volumes:\n - name: config-volume\n emptyDir: {}
B. volumes:\n - name: config-volume\n secret:\n name: app-config
C. volumes:\n - name: config-volume\n persistentVolumeClaim:\n claimName: app-config
D. volumes:\n - name: config-volume\n configMap:\n name: app-config
Solution
Step 1: Identify volume type for ConfigMap
ConfigMaps are mounted using the configMap field inside volumes.
Step 2: Match correct YAML structure
volumes:\n - name: config-volume\n configMap:\n name: app-config correctly uses configMap: with the ConfigMap name.
Final Answer:
volumes:\n - name: config-volume\n configMap:\n name: app-config -> Option D
Quick Check:
ConfigMap volume uses configMap: name [OK]
Hint: ConfigMap volume uses 'configMap:' with name [OK]
Common Mistakes:
Using secret instead of configMap for ConfigMap volumes
Confusing persistentVolumeClaim with ConfigMap
Using emptyDir which is an empty temp volume
3. Given this pod volume mount snippet, what file content will appear inside the container at /etc/config/app.properties if the ConfigMap app-config has a key app.properties with value mode=production?
A. A directory named app.properties with no content
B. No file created because mountPath is a directory
C. A file named app.properties with content 'mode=production'
D. A file named app.properties with content 'mode=development'
Solution
Step 1: Understand ConfigMap key to file mapping
Each key in ConfigMap becomes a file with that name and its value as content.
Step 2: Check mountPath and file presence
Mounting at /etc/config creates files inside that directory, including app.properties with content mode=production.
Final Answer:
A file named app.properties with content 'mode=production' -> Option C
Quick Check:
ConfigMap key = filename, value = file content [OK]
Hint: ConfigMap keys become files with their values inside mountPath [OK]
Common Mistakes:
Thinking mountPath must be a file, not directory
Assuming file content changes without ConfigMap update
Confusing file name with directory
4. You mounted a ConfigMap as a volume, but inside the container the files are missing. Which is the most likely cause?
medium
A. The ConfigMap name in the volume spec does not match any existing ConfigMap
B. The container image does not support volumes
C. The pod has no CPU resources assigned
D. The ConfigMap keys are empty strings
Solution
Step 1: Check ConfigMap reference correctness
If the ConfigMap name in the volume spec is wrong, Kubernetes cannot mount it, so files won't appear.
Step 2: Eliminate unrelated causes
Container images support volumes by default; CPU resources don't affect file mounting; keys cannot be empty strings in ConfigMaps.
Final Answer:
The ConfigMap name in the volume spec does not match any existing ConfigMap -> Option A
Quick Check:
Wrong ConfigMap name = no files mounted [OK]
Hint: Check ConfigMap name spelling in volume spec [OK]
Common Mistakes:
Blaming container image for missing files
Ignoring ConfigMap existence or name mismatch
Assuming resource limits affect volume mounts
5. You want to mount only specific keys from a ConfigMap named app-config as files inside a container at /etc/config. Which volume configuration snippet achieves this?