CS/Infra
쿠버네티스 공부 9일차 :: 컨피그맵과 시크릿
lovelyunsh
2022. 11. 9. 19:13
- 컨피그 맵, 시크릿
- 컨테이너화된 애플리케이션에 설정 데이터를 전달 하는 방법 4가지
- 모든 설정을 애플리케이션에 포함
- 명령줄 인수로 전달
- 설정 정보가 포함된 파일 포함
- 시스템 환경변수로 전달
- 명령줄 인자 전달
- 도커에서는
- ENTRYPOINT
- shell 형식 : ENTRYPOINT node app.js
- exec 형식 : [node] [app.js]
- shell 형식으로 실행하면 shell이 먼저 실행되고 shell에서 어플리케이션을 실행
- 쓸데없는 프로세스가 돌게 된다.
- exec 형식으로 실행하면 바로 어플리케이션이 실행
- CMD
- args: [”arg1”, “arg2”, “arg3”]
- 환경 변수로 전달
- 컨테이너의 환경변수에 값을 넣고
- 그 환경변수로 불러오는 방식
- 컨테이너 레벨로 환경변수가 들어간다.
env : - name: VAR value: "foo" - name: second_var value : "second foo"
- yaml 파일에 하드코딩해야만 한다.
- 또 이미지에 환경변수 값이 포함되게 되어 이미지가 공유되면 민감정보가 나갈 수 있다.
- 컨피그맵
- 설정옵션과 소스 코드를 분리할 수 있도록 하는 리소스
- 키 값 쌍으로 이루어진 맵
- 파드에 컨피그맵을 매핑 시켜서 환경 변수에 등록 시킬 수 있다.
- prefix를 붙이면 모든 컨피그맵 key에 prefix가 붙는다.
- 만약 키에 ‘ - ‘ 가 포함되어 있으면 prefix를 안붙임. ( 잘못된 규약이기 때문에)
- 시크릿
- 컨피그맵과 똑같음.
- 다만 base64로 인코딩해서 보여줌
- 자격증명이나 비밀번호 등을 저장하기에 용이
- 컨테이너화된 애플리케이션에 설정 데이터를 전달 하는 방법 4가지