3.6. 데이터베이스 애플리케이션 배포
애플리케이션에 필요한 정보를 포함하도록 MongoDB 데이터베이스 애플리케이션을 배포합니다. 이 튜토리얼에서는 국립 공원 위치 정보를 보유하는 mongodb-nationalparks 라는 데이터베이스 애플리케이션을 배포합니다.
사전 요구 사항
-
parksmap프런트 엔드 애플리케이션을 배포했습니다. -
nationalparks백엔드 애플리케이션을 배포했습니다.
프로세스
다음 명령을 실행하여
mongodb-nationalparks데이터베이스 애플리케이션을 배포합니다.$ oc new-app registry.redhat.io/rhmap47/mongodb --name mongodb-nationalparks -e MONGODB_USER=mongodb -e MONGODB_PASSWORD=mongodb -e MONGODB_DATABASE=mongodb -e MONGODB_ADMIN_PASSWORD=mongodb -l 'app.kubernetes.io/part-of=national-parks-app,app.kubernetes.io/name=mongodb'출력 예
--> Found container image 7a61087 (12 days old) from quay.io for "quay.io/mongodb/mongodb-enterprise-server" * An image stream tag will be created as "mongodb-nationalparks:latest" that will track this image --> Creating resources with label app.kubernetes.io/name=mongodb,app.kubernetes.io/part-of=national-parks-app ... imagestream.image.openshift.io "mongodb-nationalparks" created deployment.apps "mongodb-nationalparks" created service "mongodb-nationalparks" created --> Success Application is not exposed. You can expose services to the outside world by executing one or more of the commands below: 'oc expose service/mongodb-nationalparks' Run 'oc status' to view your app.
3.6.1. 보안을 생성하여 데이터베이스에 대한 액세스 제공 링크 복사링크가 클립보드에 복사되었습니다!
중요한 데이터베이스 연결 자격 증명을 사용하여 백엔드 애플리케이션을 안전하게 제공하는 Secret 리소스를 생성합니다.
MongoDB 데이터베이스에 액세스하려면 nationalparks 애플리케이션에는 데이터베이스 이름, 사용자 이름 및 암호와 같은 정보가 필요합니다. 그러나 이 정보는 민감하므로 Pod에 직접 저장하지 않아야 합니다.
시크릿 을 사용하여 중요한 정보를 저장하고 해당 시크릿을 워크로드와 공유할 수 있습니다.
보안 오브젝트는 암호, OpenShift Container Platform 클라이언트 구성 파일 및 개인 소스 리포지토리 자격 증명과 같은 중요한 정보를 보유하는 메커니즘을 제공합니다. 보안은 Pod에서 중요한 콘텐츠를 분리합니다. 볼륨 플러그인을 사용하거나 에서 시크릿을 환경 변수로 전달하여 컨테이너에 보안을 마운트할 수 있습니다. 그런 다음 시스템에서 보안을 사용하여 Pod에 중요한 정보를 제공할 수 있습니다.
다음 절차에서는 nationalparks-mongodb-parameters 시크릿을 생성하여 nationalparks 워크로드에 마운트합니다.
사전 요구 사항
-
nationalparks백엔드 애플리케이션을 배포했습니다. -
mongodb-nationalparks데이터베이스 애플리케이션을 배포했습니다.
프로세스
다음 명령을 실행하여 필요한 데이터베이스 액세스 정보를 사용하여 시크릿을 생성합니다.
$ oc create secret generic nationalparks-mongodb-parameters --from-literal=DATABASE_SERVICE_NAME=mongodb-nationalparks --from-literal=MONGODB_USER=mongodb --from-literal=MONGODB_PASSWORD=mongodb --from-literal=MONGODB_DATABASE=mongodb --from-literal=MONGODB_ADMIN_PASSWORD=mongodb다음 명령을 실행하여 시크릿에서
nationalparks워크로드로 환경을 가져옵니다.$ oc set env --from=secret/nationalparks-mongodb-parameters deploy/nationalparksnationalparks배포가 이 환경 정보를 사용하여 새 버전을 롤아웃할 때까지 기다립니다. 다음 명령을 실행하여nationalparks배포 상태를 확인합니다.$ oc rollout status deployment nationalparks출력 예
deployment "nationalparks" successfully rolled out