Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- vs code
- DataStructure
- 컴퓨터공학개론
- Nodejs 프로젝트
- mysql
- 깃
- 하이퍼레저
- algorithum
- 관계형데이터베이스
- 프로그래밍
- 생활코딩 nodejs
- Javascript
- 컴퓨터사이언스
- 제로초
- hyperledger
- 블록몽키
- 파이썬 알고리즘
- al
- SQL
- javascript 게임
- javascript 초급
- javascirpt
- hyperledger fabric
- 블록체인개론
- Blockmonkey
- 블록체인
- js
- 생활코딩
- nodejs
- 자바스크립트
Archives
- Today
- Total
Blockmonkey
EKS - 환경변수 관리 본문
Kubernetes에서 환경변수를 관리하는 방법은 대표적으로 configMap 으로 value 파일에 평문 저장하여 사용하는 방법과, Secret 스크립트로 사용하는 방법이 있다.
P.S : EKS 서버 복구하는데, 위 값을 못찾아서 힘들었다. 😩
ConfigMap VS Secret 차이점 요약
항목 ConfigMap Secret
| 목적 | 일반 설정값 저장 | 민감 정보 저장 (API Key, 비번 등) |
| 인코딩 | 평문 | Base64 (단순 인코딩, 암호화 아님) |
| 보안 접근 제어 | 약함 | 강함 (RBAC 등으로 접근 제어 가능) |
| 파일 Mount | 가능 (env, envFrom, volume) | 가능 (env, envFrom, volume) |
| 저장위치 | script | Master Node - etcl에 저장 |
- ConfigMap
- values.yaml 파일에 저장되어 환경변수 정보를 관리한다. (직관적)
- 평문으로 저장
- Git에 올라간다.
- 따라서, Private Repository 인 경우에만 모두 올려도 된다.
- Secret
- Git에 올리지 않고 Kuberntes 내부에 Secert 파일로 관리
- Base64를 통해 간단한 인코딩되어 저장된다.
- 항시 4의 배수 길이
- 즉, 맘만먹으면 디코딩할 수 있다.
Secret 사용법
- 생성된 Secret 목록 전부 조회
$ kubectl get secrets --all-namespaces
- Secret 생성
$ kubectl create secret generic [시크릿명] \\ --from-literal=KEY1=VALUE1 \\ --from-literal=KEY2=VALUE2 \\ -n [네임스페이스]
- Secret 적용
# value.yaml 파일에 아래와 같은 형식으로 저장
deployment:
...
env:
- name: MY_DB_HOST # 지정할 환경변수 Key Name
valueFrom:
secretKeyRef:
name: secret-stg # 시크릿 명
key: RDS_DB_HOST # Key 값
- name: DB_USERNAME # 지정할 환경변수 Key Name
valueFrom:
secretKeyRef:
name: secret-stg # 시크릿 명
key: RDS_DB_USERNAME # Key 값
- Secret 수정/삭제/적용
# 수정
$ kubectl edit secret {시크릿명} -n {네임스페이스}
# 삭제
$ kubectl delete secret {시크릿명} -n {네임스페이스}
# 생성 및 수정 후 적용
$ kubectl rollout restart deployment -n {네임스페이스}
Terminal에서 plian-text → Base64 인코딩
# plain text -> base64
echo -n 'your-plaintext-value' | base64
# base64 -> plain text
echo 'base64-encoded-value' | base64 --decode
'Web Development > Back-end' 카테고리의 다른 글
| [DB] B-Tree vs B+Tree (0) | 2025.09.22 |
|---|---|
| [Java] String & String Builder & StringBuffer (0) | 2025.09.11 |
| EKS - Context (0) | 2025.07.21 |
| EKS 사용하기 (3) | 2025.07.21 |
| 동기 비동기 & 직렬 & 동시성에 대하여 (0) | 2025.07.21 |