클라우드/쿠버네티스(Kubernetes)

쿠버네티스 Kubernetes 애플리케이션 사용자화 5/ 컨피그 맵(Config Map)을 이용한 사용자화 2

두뚜 2021. 7. 13. 23:11

https://daaa0555.tistory.com/312

 

쿠버네티스 Kubernetes 애플리케이션 사용자화 4 / 컨피그 맵(Config Map)을 이용한 사용자화 1

# 컨피그 맵을 이용한 사용자화 컨피그 맵 (Config Map) : 간단한 정, 변수, 설정 파일의 값을 키/값 쌍 형태로 저장하고 사용할 수 있는 쿠버네티스 저장소 설정값을 환경 변수나 명령의 인수로 제공

daaa0555.tistory.com

 

 

# ConfigMap 생성 및 확인

파드에게 제공할 포트 정보와 메세지 정보를 담은 파일을 생성

 

# ConfigMap  디렉터리에 message 파일 생성

 

# 해당 파일을 이용하여 ConfigMap 생성

디렉터리를 지정하면 하나의 컨피그 맵에 여러키를 지정할 수 있다

 

 

#  myapp-message ConfigMap 확인

 

 

# ConfigMap 을 참조하는 파드 생성

# .spec.containers.env

: 환경 변수

 

# . spec.containers.env.vauleFrom.

: 다른 곳에서 Value를 가져옴 (configMap 에서 제공)

 

# . spec.containers.env.vauleFrom.configMapKeyRef

: configMap 리소스에서 키를 참조하여 매핑  - name 컨피그 맵 리소스 이름 - key 이름 

 

# .spec.containers.args 필드

: 인수를 지정하는 필드 , $(MESSAGE) 로 환경변수를 참조

 

 

 

#  파드를 생성

 

# 포트포워딩 후 확인

 

 

 

 

# ConfigMap 의 볼륨 사용

ConfigMap에 설정 파일을 저장하고, 이를 볼륨으로 제공

 

# ConfigMap 에 사용 할 설정 파일

conf 디렉토리에 ConfigMap에 등록 할 Nginx 설정파일인 nginx-gzip.conf 생성

기본 설정에 gzip 압축 기능을 활성화

 

# 설정 파일을 ConfigMap으로 생성

 

# ConfigMap 을 볼륨으로 사용하는 파드 오브젝트

nginx-gzip-config 컨피그 맵을 볼륨으로 선언하고 /etc/nginx/conf.d 디렉터리에 마운트

* 파일 마운트 가능 , 파일 마운트는 다른 파일에 영향을 주지 않는다

 

 

# ConfigMap 을 볼륨으로 사용하는 파드 생성

 

# 파드에서 확인

 

# 포트포워딩을 통해 확인

nginx 이미지는 기본 포트 80번을 사용 (호스트에서 이미 80번 포트를 사용중이므로 열 수 없다)

 

# 압축 요청

-기본적으로 httpd는 클라이언트가 압축 요청을 해야한다.  클라이언트가 요청하지 않으면 압축을 하지않고 응답한다

# -H : HTTP 요청 헤더를 추가

# "Accepth-Encoding: gizp" : gzip 압축을 요청

# -I : HTTP 헤더만 보기

 

 

#  압축

 

# 압축 X