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'
    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 데이터베이스에 액세스하려면 nationalparks 애플리케이션에는 데이터베이스 이름, 사용자 이름 및 암호와 같은 정보가 필요합니다. 그러나 이 정보는 민감하므로 Pod에 직접 저장하지 않아야 합니다.

시크릿 을 사용하여 중요한 정보를 저장하고 해당 시크릿을 워크로드와 공유할 수 있습니다.

보안 오브젝트는 암호, OpenShift Container Platform 클라이언트 구성 파일 및 개인 소스 리포지토리 자격 증명과 같은 중요한 정보를 보유하는 메커니즘을 제공합니다. 보안은 Pod에서 중요한 콘텐츠를 분리합니다. 볼륨 플러그인을 사용하거나 에서 시크릿을 환경 변수로 전달하여 컨테이너에 보안을 마운트할 수 있습니다. 그런 다음 시스템에서 보안을 사용하여 Pod에 중요한 정보를 제공할 수 있습니다.

다음 절차에서는 nationalparks-mongodb-parameters 시크릿을 생성하여 nationalparks 워크로드에 마운트합니다.

사전 요구 사항

  • 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 배포가 이 환경 정보를 사용하여 새 버전을 롤아웃할 때까지 기다립니다. 다음 명령을 실행하여 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 데이터베이스를 배포한 후 국립 공원 위치 정보를 데이터베이스에 로드할 수 있습니다.

사전 요구 사항

  • 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