apiVersion: v1
kind: ConfigMap
metadata:
name: tal-cm
data:
index.html: Tal
apiVersion: v1
kind: Pod
metadata:
name: configmap-test
labels:
app: configmap-test
spec:
containers:
- name: test-container
image: nginx
ports:
- name: http-server
containerPort: 80
volumeMounts:
- name: config-volume
mountPath: /usr/share/nginx/html
volumes:
- name: config-volume
configMap:
name: tal-cm
apiVersion: v1
kind: Service
metadata:
name: configmap-test
labels:
app: configmap-test
spec:
ports:
- port: 80
targetPort: http-server
selector:
app: configmap-test
type: NodePort
$ kubectl create -f configmap.yaml
$ kubectl create -f podcm.yaml
$ kubectl create -f servicecm.yaml
- create configmap
$ kubectl create configmap logger --from-literal=log_level=error
- see configmap yaml
$ kubectl get configmaps logger -o yaml
- create reader-cm-deployment.yaml file
$ nano reader-cm-deployment.yaml
- Copy & Paste yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: log-reader-configmap
spec:
replicas: 1
selector:
matchLabels:
name: logreader
template:
metadata:
labels:
name: logreader
spec:
containers:
- name: logreader
image: karthequian/reader:latest
env:
- name: log_level
valueFrom:
configMapKeyRef:
#Read from a configmap called log-level
name: logger
#Read the key called log_level
key: log_level
- create deploy yaml
$ kubectl apply -f reader-cm-deployment.yaml
- get configmap reader log
$ kubectl get pods | grep -i log-reader-configmap
log-reader-configmap-678cbc5868-r4sfj 1/1 Running 0 2m
- View logd of configmap reader pod
$ kubectl logs log-reader-configmap-<random>
- get inside the pod and see ENV
$ kubectl exec -it log-reader-configmap-<random> /bin/sh