Study Memory Work
[K8S/CKA 자격증] Worloads & Scheduling - ConfigMap 본문
ConfigMap
- 컨테이너 구성 정보를 한 곳에 모아서 관리할 수 있도록 kubernetes에서 지원.
- key, value 타입으로 이루어진 ConfigMap에 컨테이너 구성 정보를 저장한다.
- 기존에는 컨테이너 내에 컨테이너의 conf 파일이 존재했다면, ConfigMap에 있는 정보를 컨테이너에 mount시켜주는 형태.
- ConfigMap 수정 후, pod만 restart해주면 적용이 가능해서 많은 pod를 관리하는데에 용이하다.
# Configmap 생성하기
$ kubectl create configmap {configmapNAME} [--from-file=source] [--from-literal=key1=value1]
# --from-file : file 자체를 데이터로 가져오기
# --from-literal : 데이터 하나씩 생성해주기
[문제11] ConfigMap으로 환경변수 전달
작업 클러스터 : k8s
다음의 변수를 configMap eshop으로 등록하세요.
- DBNAME: mysql
- USER: admin
등록한 eshop configMap의 DBNAME을 eshop-configmap라는 이름의 nginx 컨테이너에 DB라는 환경변수로 할당하세요.
# 1. configmap 생성
$ kubectl create configmap eshop --from-literal=DBNAME=mysql --from-literal=USER=admin
# 2. 확인
$ kubectl describe configmaps eshop
# 3. pod 생성
$ kubectl run eshop-configmap --image=nginx --dry-run=client -o yaml > eshop.yaml
$ vi eshop.yaml
###
apiVersion: v1
kind: Pod
metadata:
name: eshop-configmap
spec:
containers:
- name: eshop-configmap
image: nginx
env:
# Define the environment variable
- name: DB # Pod에서 사용할 변수명
valueFrom:
configMapKeyRef:
name: eshop # configmap 명
key: DBNAME
key: admin
restartPolicy: Never
###
# 4. 확인
$ kubectl exec -it echop-configmap -- /bin/bash
$ env
'Infra > Kubernetes' 카테고리의 다른 글
[K8S/CKA 자격증] Services & Networking - Service 동작 원리, Cluster IP, NodePort (0) | 2023.01.22 |
---|---|
[K8S/CKA 자격증] Worloads & Scheduling - Secret (0) | 2023.01.22 |
[K8S/CKA 자격증] Worloads & Scheduling - pod scheduling (0) | 2023.01.22 |
[K8S/CKA 자격증] Worloads & Scheduling - node 정보보기 (0) | 2023.01.22 |
[K8S/CKA 자격증] Worloads & Scheduling - node 관리 (0) | 2023.01.22 |