더북(TheBook)

이 파드를 배치하면 컨테이너의 /secrets/postgres_password 파일에 비밀값의 데이터가 전달된다. 이 파일은 0400 권한이 설정되므로 컨테이너 사용자만 읽을 수 있다. 환경 변수는 PostgreSQL이 설정 파일을 읽을 경로를 지정한다. postgres 사용자는 환경 변수를 읽을 수 있으므로 데이터베이스 서버가 파일로 전달받은 값을 패스워드로 삼아 실행된다.

실습 데이터베이스 파드를 배치하고 데이터베이스 서버가 정상적으로 시작되는지 확인하라.

# 예제 4-13의 정의 배치
kubectl apply -f todo-list/todo-db-test.yaml

# 데이터베이스 파드의 로그 확인(조금 기다려야 한다)
kubectl logs -l app=todo-db --tail 1

# 패스워드 설정 파일의 권한 확인
kubectl exec deploy/todo-db -- sh -c 'ls -l $(readlink -f /secrets/postgres_password)'

그림 4-16에서 데이터베이스 파드가 정상적으로 시작되어 접속을 기다린다는 로그를 볼 수 있다. 설정이 제대로 된 것이다. 그리고 마지막 명령의 출력에서도 설정 파일 권한이 의도한 대로 설정된 것을 볼 수 있다.

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