푸잉이의 기술블로그
[Day8] Certified Kubernetes Administrator (CKA) with Practice Tests 본문
[Day8] Certified Kubernetes Administrator (CKA) with Practice Tests
data고수 2023. 1. 11. 03:25<Configure applications-응용프로그램 구성>
- Configuring command and argumenets on applications
- Configuring Environment variables
- Configuring secrets
95강. Commands
Application commands
가상 머신과 달리 컨테이너는 운영 체제를 호스팅 X.
컨테이너는 웹 서버, 애플리케이션 서버 또는 DB의 인스턴스를 호스팅하는 것과 같은 특정 테스크 or 프로세스를 실행 or 일부 계산 또는 분석 수행
ubuntu에선 default command = bash
<container 시작 command>
docker run command에 command를 추가하는 것
-> Image에 지정된 기본 명령을 override (재정의)하는 것
96강. Commands and Arugments
*Docker file에 CMD와 ENTRYPOINT 옵션을 사용하면 Docker 이미지를 실행할 때 사용자가 입력한 특정 명령어를 실행할 수 있음
- kubernetes에서도 docker이미지를 사용하여 pod를 생성할 때, command와 args필드 설정을 통해 실행 가능
*Dockerfile CMD란
- 컨테이너가 실행될 때, 특정 명령어를 실행할 수 있도록 해주는 기능
- CMD 옵션은 배열로 구분, 띄어쓰기 또는 대괄호 안에서 JSON 배열 형태로 구분
- CMD=args
*Dockerfile Entrypoint란
- CMD와 동일하지만 명령어가 반드시 실행된다는 차이점이 있음
- CMD 옵션과 동일하게 배열로 구분, 띄어쓰기 또는 대괄호 안에서 JSON 배열 형태로 구분
- container 실행시 무조건 실행됨
*차이점
- CMD는 Docker 실행할 때 파라미터를 변경하여 실행 가능
- EntryPoint는 docker를 실행할 때 파라미터를 변경할 수 없음
99강. Configure Environment Variables in applications
<ENV Variables in kubernetes>
ENV: 배열, 모든 ENV Property 아래에 모든 아이템들이 dash로 표현.

100강. Configuring ConfigMaps in Applications
<ConfigMaps>
*애플리케이션을 배포하다 보면, 환경에 따라서 다른 설정값을 사용하는 경우 존재
ex) db의 ip, api를 호출하기 위한 api key, 개발/운영에 따른 디버그 모드, 환경설정 파일들이 있는데, 애플리케이션 이미지는 같지만, 이런 환경변수가 차이나는 경우 매번 다른 컨테이너 이미지를 만드는 것은 불편
환경변수나 설정값들을 변수로 관리해서 pod가 생성될 때 이 값을 넣는 방법 --> Configmap과 secret
ConfigMap
- 설정 정보를 저장해놓는 일종의 저장소
- key/value 형식으로 저장
- 생성방법: 문자, 파일
1. create configMap
2. Inject into Pod
env property is list

103강. Configure Secrets in applications
비밀번호, SSH 인증, TLS Secret과 같은 보안 정보를 관리하는 방법
ConfigMap과 차이점은 데이터가 base64로 저장된다는 점


declarative접근으로 secret을 생성하면, secret value는 encoded format으로 반드시 만들기

*Secret은 암호화되지 않음
secret은 보안 정보를 다루기 때문에 당연히 암호화될 거라고 생각할 수 있지만, 실제로는 그대로 저장됨.
*etcd에 접근이 가능하다면 누구나 저장된 secret을 확인할 수 있음
-> rest하는 동안엔 encryption 가능
*동일한 namespsace에 pods/deployments를 생성하는 누구나 secret에 접근할 수 있음
*Third-party secretes store proivder 고려
104강. A note about Secrets!
Plain text로 저장하는 것보단 secret (64bit)로 바꾸는 게 더 안전하지만 그렇게 안전하지는 않다.
참고:
https://kim-dragon.tistory.com/69
[CKA독학]docker CMD/ENTRYPOINT 의 차이와 kubernetes command/args 관계
intro dockerfile에 CMD와 ENTRYPOINT옵션을 사용하면 docker이미지를 실행할때 사용자가 입력한 특정 명령어를 실행할 수 있습니다. 또한 kubernetes에서도 docker 이미지를 사용하여 pod를 생성할때 commnad와 ar
kim-dragon.tistory.com
쿠버네티스 #11 - ConfigMap
쿠버네티스 #11ConfigMap 조대협 (http://bcho.tistory.com) 애플리케이션을 배포하다 보면, 환경에 따라서 다른 설정값을 사용하는 경우가 있다. 예를 들어, 데이타베이스의 IP, API를 호출하기 위한 API KEY,
bcho.tistory.com
https://subicura.com/k8s/guide/secret.html
Secret
쿠버네티스에서 비밀번호, SSH 인증, TLS Secret과 같은 보안 정보를 관리하는 방법을 알아봅니다.
subicura.com