2 min read | by Jordi Prats
We can read values from a ConfigMap as a volume but we can present them to a Pod as an environment variable
Let's assume we have the following ConfigMap that we want to use to populate environment variables to a Deployment:
apiVersion: v1 kind: ConfigMap metadata: name: envvars-cm data: VALUE_FROM_CONFIGMAP: '99'
We can read the values from the ConfigMap and push them as environment variables to a container using envFrom and configMapRef as follows:
apiVersion: apps/v1 kind: Deployment metadata: name: demo spec: replicas: 1 selector: matchLabels: app: demo template: metadata: labels: app: demo spec: containers: - name: ampa image: alpine:latest args: [ "sleep", "3600" ] env: - name: DIRECT_VALUE value: '00' envFrom: - configMapRef: name: envvars-cm
We can see how the data we have on the ConfigMap can be retrieved from the container that has the envFrom.configMapRef as an environment variable:
$ kubectl exec -i deploy/demo -- env | grep VALUE VALUE_FROM_CONFIGMAP=99 DIRECT_VALUE=00
Posted on 27/10/2022