2 min read | by Jordi Prats
A ConfigMap an object intended to store configuration for other objects to use. To create a config map we just need to add the data we want to store on the configmap as keys on the data section:
apiVersion: v1
kind: ConfigMap
metadata:
name: demo-configmap
data:
file1.txt: |
this is an example
file2.txt: |
this is another example
To be able to use this ConfigMap we will need to mount it to a Pod as a volume. To do so we'll need to declare it as a volume and then use volumeMounts to mount it on the container:
apiVersion: v1
kind: Pod
metadata:
name: configmapdemo
spec:
volumes:
- name: cmdata
configMap:
name: demo-configmap
containers:
- image: busybox
command: [ "sleep", "24h" ]
name: demo
volumeMounts:
- name: cmdata
mountPath: /configmap
Once we apply this Pod and ConfigMap to the cluster:
$ kubectl apply -f .
configmap/demo-configmap created
pod/configmapdemo created
We can check that we can access the ConfigMap data as files using kubectl exec:
$ kubectl exec -it configmapdemo -- ls /configmap
file1.txt file2.txt
$ kubectl exec -it configmapdemo -- cat /configmap/file1.txt
this is an example
$ kubectl exec -it configmapdemo -- cat /configmap/file2.txt
this is another example
Posted on 28/06/2021