- 컨피그 맵, 시크릿
- 컨테이너화된 애플리케이션에 설정 데이터를 전달 하는 방법 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가지
'CS > Infra' 카테고리의 다른 글
쿠버네티스 공부 11일차 :: DB 파드는 어떻게 만들까? (스테이트풀셋) (0) | 2022.11.25 |
---|---|
쿠버네티스 공부 10일차 :: 디플로이먼트 (0) | 2022.11.18 |
쿠버네티스 공부 8일차 :: 볼륨으로 데이터를 공유하고 영구적으로 유지하자 (0) | 2022.11.02 |
쿠버네티스 공부 7일차 :: 서비스의 친구 인그레스 (0) | 2022.10.28 |
쿠버네티스 공부 6일차 :: 서비스는 누구지? 파드를 외부와 연결하기 (0) | 2022.10.24 |