3.6. 데이터베이스 애플리케이션 배포
애플리케이션에 필요한 정보를 포함하도록 MongoDB 데이터베이스 애플리케이션을 배포합니다. 이 튜토리얼에서는 국립 공원 위치 정보를 보유하는 mongodb-nationalparks 라는 데이터베이스 애플리케이션을 배포합니다.
사전 요구 사항
-
parksmap프런트엔드 애플리케이션을 배포했습니다. -
국립공원백엔드 애플리케이션을 배포했습니다.
프로세스
다음 명령을 실행하여
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 데이터베이스에 액세스하기 위해 데이터베이스 이름, 사용자 이름, 비밀번호와 같은 정보가 필요합니다. 하지만 이 정보는 민감하므로 포드에 직접 저장해서는 안 됩니다.
비밀을 사용하여 민감한 정보를 저장하고, 해당 비밀을 워크로드와 공유할 수 있습니다.
비밀 객체는 비밀번호, OpenShift Container Platform 클라이언트 구성 파일, 개인 소스 저장소 자격 증명과 같은 민감한 정보를 보관하는 메커니즘을 제공합니다. 보안은 Pod에서 중요한 콘텐츠를 분리합니다. 볼륨 플러그인을 사용하거나 비밀을 환경 변수로 전달하여 비밀을 컨테이너에 마운트할 수 있습니다. 그러면 시스템은 비밀을 이용해 포드에 민감한 정보를 제공할 수 있습니다.
다음 절차에서는 nationalparks-mongodb-parameters 비밀번호를 생성하고 이를 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/nationalparks국립공원배포를 기다려 이 환경 정보를 담은 새로운 개정판을 출시하세요. 다음 명령을 실행하여nationalparks배포 상태를 확인하세요.$ oc rollout status deployment nationalparks출력 예
deployment "nationalparks" successfully rolled out