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'
    Copy to Clipboard Toggle word wrap

    출력 예

    --> 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.
    Copy to Clipboard Toggle word wrap

3.6.1. 비밀을 생성하여 데이터베이스에 대한 액세스 제공

국립공원 애플리케이션에는 MongoDB 데이터베이스에 액세스하기 위해 데이터베이스 이름, 사용자 이름, 비밀번호와 같은 정보가 필요합니다. 하지만 이 정보는 민감하므로 포드에 직접 저장해서는 안 됩니다.

비밀을 사용하여 민감한 정보를 저장하고, 해당 비밀을 워크로드와 공유할 수 있습니다.

비밀 객체는 비밀번호, OpenShift Container Platform 클라이언트 구성 파일, 개인 소스 저장소 자격 증명과 같은 민감한 정보를 보관하는 메커니즘을 제공합니다. 보안은 Pod에서 중요한 콘텐츠를 분리합니다. 볼륨 플러그인을 사용하거나 비밀을 환경 변수로 전달하여 비밀을 컨테이너에 마운트할 수 있습니다. 그러면 시스템은 비밀을 이용해 포드에 민감한 정보를 제공할 수 있습니다.

다음 절차에서는 nationalparks-mongodb-parameters 비밀번호를 생성하고 이를 nationalparks 워크로드에 마운트합니다.

사전 요구 사항

  • 국립공원 백엔드 애플리케이션을 배포했습니다.
  • mongodb-nationalparks 데이터베이스 애플리케이션을 배포했습니다.

프로세스

  1. 다음 명령을 실행하여 필요한 데이터베이스 액세스 정보로 비밀을 생성합니다.

    $ 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 Toggle word wrap
  2. 다음 명령을 실행하여 비밀에서 nationalparks 워크로드로 환경을 가져옵니다.

    $ oc set env --from=secret/nationalparks-mongodb-parameters deploy/nationalparks
    Copy to Clipboard Toggle word wrap
  3. 국립공원 배포를 기다려 이 환경 정보를 담은 새로운 개정판을 출시하세요. 다음 명령을 실행하여 nationalparks 배포 상태를 확인하세요.

    $ oc rollout status deployment nationalparks
    Copy to Clipboard Toggle word wrap

    출력 예

    deployment "nationalparks" successfully rolled out
    Copy to Clipboard Toggle word wrap

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
    Copy to Clipboard Toggle word wrap

    출력 예

    "Items inserted in database: 2893"
    Copy to Clipboard Toggle word wrap

검증

  • 다음 명령을 실행하여 지도 데이터가 제대로 로드되었는지 확인하세요.

    $ 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 Toggle word wrap

    출력 예(잘라냄)

    ...
    , {"id": "Great Zimbabwe", "latitude": "-20.2674635", "longitude": "30.9337986", "name": "Great Zimbabwe"}]
    Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat