이 게시물은 아래 강의를 참고 하였습니다.
참고 강의 https://www.youtube.com/watch?v=KdATmTulf7s&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f&index=1
이론)
- 컨테이너 마다 가지고 있는 configuration 정보를 별도의 ConfigMap에 key value 타입의 데이터 형태로 저장
- Configuration 정보를 Mount를 통해 전달하거나 env를 통해 데이터를 컨테이너로 전달한다.
- Mount 를 통해 전달하면 value가 file로 전달되고 env를 통해 전달하면 value가 변수로 전달된다.
문제)
Expose Configuration settings
Task:
1. All operations in this question should be performed in the ckad namespace
2. Create a ConfigMap called web-config that contains the following two entries:
- connection_string=localhost:80
- external_url=cncf.io
3. Run a pod called web-pod with a single container running the nginx:1.19.8-alpine image, and expose these configuration settings as environment variables inside the container.
답안)
- namespace 생성
$ sudo kubectl create namespace ckad
https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#create-a-configmap 참고
- ckad namespace에 ConfigMap 생성
sudo kubectl create configmap web-config -n ckad --from-literal=connection_string=localhost:80 --from-literal=external_url=cncf.io
- nginx pod 생성
$ sudo kubectl run web-pod --image=nginx:1.19.8-alpine --port=80 --dry-run=client -o yaml > web-pod.yaml
$ sudo vi web-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: web-pod
namespace: ckad
spec:
containers:
- image: nginx:1.19.8-alpine
name: web-pod
envFrom:
- configMapRef:
name: web-config
- pod 실행
$ sudo kubectl apply -f web-pod.yaml
- 상태 확인
'k8s' 카테고리의 다른 글
CKA 준비 (18) Ingress 구성 (2) | 2022.06.11 |
---|---|
CKA 준비 (17) Secret 운영 (0) | 2022.06.11 |
CKA 준비 (15) NodePort 서비스 생성 (0) | 2022.06.11 |
CKA 준비 (14) Init container를 포함한 pod 운영 (0) | 2022.06.07 |
CKA 준비 (12) Pod Log 추출 / (13) CPU 사용량 높은 Pod 검색 (0) | 2022.06.04 |