0
0
Kubernetesdevops~30 mins

Using ConfigMaps as mounted volumes in Kubernetes - Mini Project: Build & Apply

Choose your learning style9 modes available
Using ConfigMaps as mounted volumes
📖 Scenario: You are managing a Kubernetes application that needs configuration files to be available inside its containers. Instead of baking these configs into the container image, you want to use Kubernetes ConfigMaps to provide these files dynamically.This approach helps you update configuration without rebuilding images, similar to how you might keep your app settings in a separate folder on your computer that your app reads from.
🎯 Goal: Learn how to create a ConfigMap with configuration data, mount it as a volume inside a Pod, and verify the configuration files are accessible inside the container.
📋 What You'll Learn
Create a ConfigMap named app-config with two configuration files: app.properties and db.properties with exact content.
Create a Pod named configmap-pod that mounts the app-config ConfigMap as a volume at /etc/config.
Verify the mounted files inside the Pod by printing their contents.
💡 Why This Matters
🌍 Real World
Using ConfigMaps as mounted volumes is a common way to provide configuration files to applications running in Kubernetes without rebuilding container images.
💼 Career
Understanding ConfigMaps and volume mounts is essential for Kubernetes administrators and DevOps engineers to manage application configurations efficiently.
Progress0 / 4 steps
1
Create a ConfigMap with configuration files
Create a ConfigMap named app-config with two files: app.properties containing app.name=MyApp and app.version=1.0, and db.properties containing db.host=localhost and db.port=5432. Use the kubectl create configmap app-config --from-literal=app.properties='app.name=MyApp\napp.version=1.0' --from-literal=db.properties='db.host=localhost\ndb.port=5432' command.
Kubernetes
Need a hint?

Use kubectl create configmap with --from-literal twice to add two files.

2
Create a Pod that mounts the ConfigMap as a volume
Create a Pod manifest named configmap-pod.yaml with a Pod named configmap-pod. The Pod should run the busybox image and mount the app-config ConfigMap as a volume named config-volume at the path /etc/config. Use the command: ['sleep', '3600'] to keep the Pod running.
Kubernetes
Need a hint?

Define a Pod with a container that mounts the ConfigMap as a volume at /etc/config.

3
Apply the Pod manifest and verify the Pod is running
Apply the Pod manifest file configmap-pod.yaml using kubectl apply -f configmap-pod.yaml. Then check the Pod status with kubectl get pod configmap-pod to confirm it is running.
Kubernetes
Need a hint?

Use kubectl apply -f to create the Pod and kubectl get pod to check its status.

4
Verify the ConfigMap files inside the Pod
Use kubectl exec configmap-pod -- cat /etc/config/app.properties and kubectl exec configmap-pod -- cat /etc/config/db.properties to print the contents of the mounted ConfigMap files inside the Pod.
Kubernetes
Need a hint?

Use kubectl exec with cat to read the files inside the Pod.