더북(TheBook)

실제 서비스 운영에서는 운영 환경의 민감한 데이터를 YAML에 포함시켜서는 안 된다. 그 대신 민감한 데이터가 들어갈 자리를 표시해 두고, 애플리케이션을 배치할 때 추가적인 처리를 거치는(이를테면 깃허브 시크릿 기능에 저장된 값을 채워 넣는) 방법을 쓴다. 어떤 방식을 쓰든 한 번 쿠버네티스 클러스터에 들어간 비밀값은 권한이 있는 사람이라면 누구나 값을 볼 수 있는 상태라는 것을 기억해야 한다.

실습 예제 4-12의 정의에 따라 비밀값을 생성하고, 그에 담긴 데이터를 확인하라.

# 비밀값 생성
kubectl apply -f todo-list/secrets/todo-db-secret-test.yaml

# 데이터 값이 인코딩되었는지 확인
kubectl get secret todo-db-secret-test -o jsonpath='{.data.POSTGRES_PASSWORD}'

# 비밀값 객체의 애너테이션에 저장된 내용 확인
kubectl get secret todo-db-secret-test -o jsonpath='{.metadata.annotations}'

그림 4-15를 보면 데이터 값이 Base64로 인코딩되어 있다. 결과적으로 일반적인 컨피그맵 정의에 Base64로 인코딩된 문자열을 기재한 것과 다를 바 없다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.