70일차

장민우·2024년 7월 11일

애플리케이션 사용자화


도커 이미지 빌드 시 사용하는 Dockerfile에는 이미지를 컨테이너로 실행했을 때 실행할 수 있는 애플리케이션을 정의하는 속성이 ENTRYPOINT와 CMD 두 가지가 있음.

ENTRYPOIN와 CMD를 같이 사용하는 경우는 ENTRYPOINT의 가장 첫 번째 항목은 명령어가 되며, CMD항목은 무조건 파라미터가 되는 형식이다.

#vim myapp-pod-cus-im.yml

#vim myapp-pod-cus-env.yml

컨피그 맵을 이용한 사용자화


컨피그 맵(ConfigMap)은 간단한 설정, 변수, 설정 파일의 값을 키/값 쌍 형태로 젖아하고 사용할 수 있는 쿠버네티스 저장소다.

키 만드는 방식




실습


#vim myapp-pod-cm.yml

실습2


#vim /configmap/nginx-gzip.conf

#kubectl create cm nginx-gzip-config --from-file /configmap/nginx-gzip.conf

#vim myapp-pod-cm-compress.yml

subpath에 config파일의 키값을 넣으면, mountPaht밑에 디렉토리 전체가 아니라 특정파일로 생성할 수 있다.

#curl -H "Accept-Encoding: gzip" -I http://localhost:8080
http 헤더만 보겠다는 의미.

파일 확인.


시크릿을 이용한 사용자화


시크릿(Secret)은 커피그 맵과 같은 키/값 저장소
차이점이라고 하면 시크릿은 패스워드,암호화 키/인증서, 토큰 등 소량의 민감한 데이털르 저장하고 안전하게 제공될 수 있도록 만들어졌음.
값을 BASE64로 인코딩하여 데이터를 저장할 수 있으며 BASE64로 인코딩된 경우 별도의 절차 없이 디코딩 하여 제공된다.

키 생성 후 확인하면 데이터가 4bytes로 보인다.

실습


#sudo mkdir -m 777 -p /secret/tls/

RSA 프라이빗 키를 생성
#openssl genrsa -out /secret/tls/nginx-tls.key

SSL/TLS 인증서 생성을 위한 CSR생성.
#openssl req -new -key /secret/tls/nginx-tls.key -out /secret/tls/nginx-tls.csr

인증서 서명 요청(CSR) 파일을 기반으로 자체 서명된 SSL/TLS 인증서를 생성합니다.
#openssl x509 -req -signkey /secret/tls/nginx-tls.key -in /secret/tls/nginx-tls.csr -out /secret/tls/nginx-tls.crt

이 명령어를 실행하면 Kubernetes 클러스터에 nginx-tls라는 이름의 TLS 비밀이 생성되며, 이는 주어진 인증서와 키를 포함.
#kubectl create secret tls nginx-tls --cert /secret/tls/nginx-tls.crt --key /secret/tls/nginx-tls.key

#sudo mkdir -m 777 /config
#vim /config/nginx-tls.conf

#kubectl create cm nginx-tls-config --from-file /config/nginx-tls.conf

#vim nginx-pod-https.yml


다른방식(인그레스)


#vim nginx-pod-https.yml

#vim myapp-svc-np.yml

#vim myapp-ing-tsl.yml

#sudo vim /etc/hosts
myapp.example.com 추가.

0개의 댓글