Kubernetes Secret Object
보안유지가 필요한 자격증명 및 개인 암호화 키( Password, API Key, ssh Key 등등 ) 같은
중요한 정보를 저장하기 위해 사용한다.
이런 정보들은 컨테이너 안에 저장해두지 않고 별도로 보관해 두었다가
실제 Pod 가 실행될때 설정을 통해서 Container에 제공한다.
ConfigMap과 사용법이 비슷하지만 좀 더 보안이 중요한 만큼 세분화된 사용법을 제공한다.


genid-web-config 디렉토리 안에 nginx-config.conf 파일에는 nginx 웹서버의 구성정보가 담겨져있다.

다시 상위 디렉토리로 나와서
kubectl create secret generic ttabae-secret --from-literal=INTERVAL=2 --from-file=./genid-web-config/ 으로 제너릭 타입으로 시크릿을 만든다.

Opaque 는 사용자 정의 타입을 뜻한다.

nginx의 시크릿정보는 중요한 정보를 보호하기위해 인코딩 되어있는걸 볼 수 있다.
kubectl get secrets ttabae-secret -o yaml



kubectl create -f genid-env-secret.yaml 으로 통해 실행시키자

curl 명령으로 ip주소에 접속하면 2초마다 fake id가 box에 출력되는걸 볼 수 있다.
이는 secret 값이 적용돼서 사용중임을 알 수 있다.

secret 데이터 용량에는 최대 1MB의 제한이 있다.
secret etcd에 암호화 하지 않은 텍스트로 저장되므로 secret value가 커지면 메모리 용량을 많이 사용하게 된다.
'따배쿠' 카테고리의 다른 글
| [따배쿠/멤버십] 12-2. taint & toleration, cordon& drain (0) | 2022.11.19 |
|---|---|
| [따배쿠/멤버십] 12-1. Pod Scheduling (0) | 2022.11.19 |
| [따배쿠] 10. Kubernetes ConfigMap (0) | 2022.11.16 |
| [따배쿠] 9-4. kubernetes Canary Deployment (0) | 2022.11.16 |
| [따배쿠] 9-3. kubernetes annotation (0) | 2022.11.16 |