[따배쿠] 14. ConfigMap
( 참고 : 따배쿠 https://www.youtube.com/watch?v=6n5obRKsCRQ&list=PLApuRlvrZKohaBHvXAOhUD-RxD0uQ3z0c )
Contents
- ConfigMap 생성
- ConfigMap의 일부분을 적용하기
- ConfigMap 전체를 적용하기
- ConfigMap을 볼륨으로 적용하기
ConfigMap
- pod 안에는 여러 개의 container들이 들어 있다
- 각각의 container는 다양한 구성/역할을 가진다
- 이러한 정보들을 한 군데에 모아서 관리하는 파일을 ConfigMap이라고 한다.
1. ConfigMap 생성
ConfigMap : container 구성 정보를 한 곳에서 통합하여 관리하는 파일
우선 ConfigMap을 생성한 뒤, 특정 container들에게 정보를 전달해준다.
kubectl create configmap NAME [--from-file=source] [--from-literal=key1=value1]
방법 1) CLI에서 직접 명령어로 key&value 지정하기
kubectl create configmap CONFIG_NAME --from-literal=id=b2021002 --from-literal=class=bigdata
방법 2) 파일 자체를 사용하여
-
kubectl create configmap CONFIG_NAME --from-file=text.file
-
ex)
text.file
-
cat > text.file
… “This is a file” 작성 후 저장 -
그러면,
- key : text.file
- value : “This is a file”
이 담기게 된다
-
방법 3) 파일 자체를 사용하여 (2)
kubectl create configmap CONFIG_NAME --from-file=mydata=text.file
- key & value
- key : mydata
- value : text.file 안의 내용
방법 4) 경로를 사용하여
-
kubectl create configmap CONFIG_NAME --from-file=/configmap.dir/
-
특정 directory 안에,
xxxxx.conf
파일이 있으면,해당 내용이 파일명이 key로, 안에 내용이 value로 담기게 된다
Example
2. ConfigMap의 일부분을 적용하기
생성한 configmap의 key를 “pod의 컨테이너에 적용”
pod의 yaml 파일을 직접 수정할 필요 없이, configmap을 사용하여 여러 container를 동시에 적용할 수 있다!
example
kubectl apply -f genid.yaml
- pod 생성
- 작동 방식 (A)
kubectl edit configmaps ttabe-config
- 작동 방식 수정 (A->B)
kubectl apply -f genid.yaml
- pod 생성
- 작동 방식 (B)
3. ConfigMap 전체를 적용하기
생성한 configmap의 전체 key를 “pod의 컨테이너에 적용”
4. ConfigMap을 볼륨으로 적용하기
생성한 configmap의 key를 “pod의 컨테이너에 볼륨 마운트”