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'
$ 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'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6.1. 비밀을 생성하여 데이터베이스에 대한 액세스 제공 링크 복사링크가 클립보드에 복사되었습니다!
국립공원
애플리케이션에는 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
$ 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 비밀에서
nationalparks
워크로드로 환경을 가져옵니다.oc set env --from=secret/nationalparks-mongodb-parameters deploy/nationalparks
$ oc set env --from=secret/nationalparks-mongodb-parameters deploy/nationalparks
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 국립공원
배포를 기다려 이 환경 정보를 담은 새로운 개정판을 출시하세요. 다음 명령을 실행하여nationalparks
배포 상태를 확인하세요.oc rollout status deployment nationalparks
$ oc rollout status deployment nationalparks
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
deployment "nationalparks" successfully rolled out
deployment "nationalparks" successfully rolled out
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6.2. 데이터베이스에 데이터 로드 링크 복사링크가 클립보드에 복사되었습니다!
mongodb-nationalparks
데이터베이스를 배포한 후에는 국립공원 위치 정보를 데이터베이스에 로드할 수 있습니다.
사전 요구 사항
-
국립공원
백엔드 애플리케이션을 배포했습니다. -
mongodb-nationalparks
데이터베이스 애플리케이션을 배포했습니다.
프로세스
다음 명령을 실행하여 국립공원 데이터를 로드합니다.
oc exec $(oc get pods -l component=nationalparks | tail -n 1 | awk '{print $1;}') -- curl -s http://localhost:8080/ws/data/load
$ oc exec $(oc get pods -l component=nationalparks | tail -n 1 | awk '{print $1;}') -- curl -s http://localhost:8080/ws/data/load
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
"Items inserted in database: 2893"
"Items inserted in database: 2893"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 지도 데이터가 제대로 로드되었는지 확인하세요.
oc exec $(oc get pods -l component=nationalparks | tail -n 1 | awk '{print $1;}') -- curl -s http://localhost:8080/ws/data/all
$ oc exec $(oc get pods -l component=nationalparks | tail -n 1 | awk '{print $1;}') -- curl -s http://localhost:8080/ws/data/all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예(잘라냄)
... , {"id": "Great Zimbabwe", "latitude": "-20.2674635", "longitude": "30.9337986", "name": "Great Zimbabwe"}]
... , {"id": "Great Zimbabwe", "latitude": "-20.2674635", "longitude": "30.9337986", "name": "Great Zimbabwe"}]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow