ConfigMaps
ConfigMaps are a type of resource that is used to store the configurations required by applications. It can store configuration data in key-value pairs or configuration files as files.
ConfigMaps allow you to decouple environment-specific configurations from container images, so that different environments can have their own unique configurations.
Creating a ConfigMap
In the following example, a ConfigMap named configmap-test is created. The ConfigMap configuration data is defined in the data field.
apiVersion: v1 kind: ConfigMap metadata: name: configmap-test data: # Configuration data property_1: Hello property_2: World
Referencing a ConfigMap as an Environment Variable
ConfigMaps are usually referenced as environment variables or as configuration files in volumes.
In the following example, property_1 of configmap-test is used as the value of the environment variable EXAMPLE_PROPERTY_1. After the container is started, the value of property_1 is referenced as the value of EXAMPLE_PROPERTY_1, which is Hello.
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- image: nginx:alpine
name: container-0
resources:
limits:
cpu: 100m
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
env:
- name: EXAMPLE_PROPERTY_1
valueFrom:
configMapKeyRef: # Reference a ConfigMap.
name: configmap-test
key: property_1
imagePullSecrets:
- name: default-secret
Referencing a ConfigMap in a Volume
Referencing a ConfigMap in a volume is when you save the data as configuration files in the volume. Each piece of data is saved as a file. The key is the file name, and the key value is the file content.
In the following example, a volume named vol-configmap is created, the ConfigMap named configmap-test is referenced in the volume, and the volume is mounted to the /tmp directory of the container. After the pod is created, two files property_1 and property_2 are generated in the /tmp directory of the container, and the values are Hello and World.
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- image: nginx:alpine
name: container-0
resources:
limits:
cpu: 100m
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
volumeMounts:
- name: vol-configmap # Mount the volume named vol-configmap.
mountPath: "/tmp"
imagePullSecrets:
- name: default-secret
volumes:
- name: vol-configmap
configMap: # Reference a ConfigMap.
name: configmap-test
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot