2022이전/Docker&Kubernetes
[Kubernetes]컨피그맵(ConfigMap) & 시크릿(Secret) 이란?
바로퇴장
2020. 6. 18. 20:02
컨피그맵(ConfigMap)
환경 변수나 설정값까지 쿠버네티스 오브젝트에서 관리 값들을 YAML 파일로 포드와 함께 배포할 수 있다.
사용법
kubectl create configmap <컨피그맵 이름> <각종설정값들>
위 실행문은 log-level-configmap 에 변수 1개 / start-k83에 변수 2개를 설정해준 것이다.
configmap 확인 => kubectl describe configmap
, kubectl get configmap -o yaml
이다.
주요 사용
- 컨피그맵의 값을 컨테이너의 환경 변수로 사용
- 컨피그맵의 값을 포드 내부의 파일로 마운트해 사용
- 컨피그맵의 데이터를 컨테이너의 환경변수로 가져오기
예시:
yaml 파일에서 log-level-configmap
과 start-k8s
의 comfigmap값 참조를 하고 있다.
시크릿(Secret)란?
ssh 키, 비밀번호등과 민감한 정보를 저장하기 위한 용도
컨피그맵과 시크릿의 차이점은 컨피그맵의 정보들은 plain-text이지만, 시크릿 정보들은 암호화를 거쳐서 전달된다.
사용법
kubectl create secret generic my-password --from-literal password=q1w2e3r4
# secret 정보 보기
kubectl get secret -o yaml
실제로 적용시키는 방법은 컨피그맵과 비슷하다.