Object - ConfigMap, Secret
환경에 따라 변화하는 값들은 외부에서 결정할 수 있게 함.
configMap: 관리할 일반적인 값
secret: 보안이 필요한 값
pod 생성 시 두 object를 연결 할 수 있는데, 연결하게 되면 컨테이너의 환경변수에 이 데이터(configMap, secret에 작성된 값)가 들어감. -> 서비스에서 이 환경 변수를 읽어서 실행하게 됨.
Env (Literal)
- ConfigMap
- key, value로 구성.
- secret:
- key,value로 구성
- 인증키,pwd를 담음
- 1mb만 담을 수 있음.
- 메모리를 사용
- key, value로 구성되어있음.
Env(File)
- file을 통으로 configmap 에 담을 수 있음
- 직접 명령어를 쳐야함
- > kubectl create configmap cm-file --from-file=./file.txt
- > kubectl crete secret generic sec-file --from-file=./file.txt
- Secret은 파일 명이 base64로 인코딩 되기 때문에, 이미 인코딩 되어있는 파일이면 두번 인코딩이 됨.
Volume Mount(File)
- file을 container 안에 /mount할 수 있음
- 파드 생성 후 configmap이 변경되어도 인식할 수 있음 ( Env는 pod 재생성시에만 변경 인식 가능)
반응형
'Infra' 카테고리의 다른 글
[k8s] Controller (0) | 2022.03.12 |
---|---|
[k8s] Object Namespace, ResourceQuota, LimitRange (0) | 2022.03.07 |
[k8s] Object Volume (0) | 2022.03.07 |
[k8s] Object Service (0) | 2022.03.07 |
[k8s] Object pod (0) | 2022.03.06 |