1 개요[ | ]
- k8s ConfigMap
- 쿠버네티스 컨피그맵
- 非기밀 데이터를 키-값 쌍으로 저장하기 위해 사용하는 API 객체
- 컨테이너 이미지에서 설정 데이터를 분리(decouple)시키기 위한 것[1]
- 컨테이너 이미지에서 사용하는 환경변수와 같은 세부 정보를 분리하고, 그 환경변수에 대한 값을 외부로 노출 시키지 않고 내부에 존재하는 스토리지에 저장해서 사용하는 방법
- 환경변수, 커맨드라인 인자, 볼륨 내의 설정파일로 사용될 수 있다.
- 컨피그맵을 사용하면 컨테이너 이미지에서 해당 환경에 국한된 설정을 분리할 수 있다.
- 그렇게 하면 애플리케이션을 어디로든 쉽게 이전할 수 있게 된다(portable).
- ConfigMap을 변경하더라도 Running 상태의 Pod에 곧바로 적용되지는 않는다. Pod을 다시 띄워야 한다.
- 한편, 기밀 데이터를 저장할 때는 Secret을 이용해야 한다.
yaml
Copy
apiVersion: v1
kind: ConfigMap
metadata:
name: appname
data:
key: value
yaml
Copy
apiVersion: v1
kind: ConfigMap
metadata:
name: game-data
data:
game.properties: |
enemies=aliens
lives=3
yaml
Copy
apiVersion: v1
kind: ConfigMap
metadata:
name: game-data
data:
game.properties: |
enemies=aliens
lives=3
ui.properties: |
color.good=purple
color.bad=yellow
allow.textmode=true
2 같이 보기[ | ]
3 참고[ | ]
- https://cloud.google.com/kubernetes-engine/docs/concepts/configmap
- https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/
- https://medium.com/google-cloud/kubernetes-configmaps-and-secrets-68d061f7ab5b
- https://github.com/cloudzlabs/docs/blob/master/content/posts/kubernetes/configmap.md
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.