목표
쿠버네티스에서 비밀번호, SSH 인증, TLS Secret과 같은 보안 정보를 관리하는 방법을 알아봅니다.
- configMap이 일반적인 환경 설정 정보나 CONFIG정보를 저장하도록 디자인 되었다면, 보안이 중요한 패스워드나, API 키, 인증서 파일들은 secret에 저장할 수 있다.
- Secret은 안에 저장된 내용을 지키기 위해서 추가적인 보안 기능을 제공한다.
→ 항상 메모리에 저장
- Configmap과 secret의 차이점은, 보안을 위해 secret이 base64로 저장된다는 점 말고는 거의 없다.
// 사용 방법은 configmap과 같다.
apiVersion: v1
kind: Pod
metadata:
name: alpine-env
spec:
containers:
- name: alpine
image: alpine
command: ["sleep"]
args: ["100000"]
env:
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: db-user-pass
key: username.txt
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: db-user-pass
key: password.txt
Share article