A configMap is a kubernetes object for storing information that is not sensitive.
Sensitive data like passwords, TLS keys or certificates, would go into another kubernetes object called "Secret".
ConfigMaps allow us to have copies of the same image linked to different environmental variables for example.
We don't need to build different images with different environmental variables, we just build one image and attach the copies of the image to different configMaps.
The "static" data that doesn't change are usually built inside the image.
Creating the configMaps:
We can create a configMap using the below command:
Format of the "variables.conf" file:
Creating a configMap file with a configuration key:
Below is the command for creating a configMap from a file with a configuration key (data-key) that will go into the Yaml file:
As a result, we would get the below configuration file:
Creating a configMap from literal values:
The below command creates a configMap "config_1" from a literal value:
Pods get access to configMaps through either environmental variables or through a volume mounted on to the pod (onto the container's filesystem).
Access through environmental variables:
Below is the Yaml configuration file of the pod with a reference to the configMap "configmap_1":