$ kubectl create configmap nginx-conf --from-file=tls.conf
$ kubectl get configmap nginx-conf
$ kubectl describe configmap nginx-conf
Name: nginx-conf
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
tls.conf:
----
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
server {
listen 443 ssl;
server_name www.sample.com;
ssl_certificate /etc/cert/tls.crt;
ssl_certificate_key /etc/cert/tls.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
BinaryData
====
Events: <none>
apiVersion: v1
kind: ConfigMap
metadata:
name: env-config
data:
log_level: INFO
apiVersion: v1
kind: Pod
metadata:
name: web-apl
spec:
containers:
- name: web
image: nginx
env:
- name: LOG_LEVEL ## 컨테이너 환경 변수명
valueFrom:
configMapKeyRef:
name: env-config ## 컨피그맵명
key: log_level ## 키 항목
$ kubectl apply -f cm-env.yml
$ kubectl apply -f cm-env-read.yml
$ kubectl exec -it web-apl env
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=web-apl
TERM=xterm
LOG_LEVEL=INFO
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
KUBERNETES_SERVICE_HOST=10.96.0.1
NGINX_VERSION=1.21.3
NJS_VERSION=0.6.2
PKG_RELEASE=1~buster
HOME=/root