4.7. Connexion à une base de données


Déployez et connectez une base de données MongoDB dans laquelle l'application national-parks-app stocke les informations de localisation. Une fois que vous avez marqué l'application national-parks-app comme backend pour l'outil de visualisation de cartes, le déploiement de parksmap utilise le mécanisme de découverte d'OpenShift Container Platform pour afficher automatiquement la carte.

Conditions préalables

  • Vous devez avoir accès à un cluster OpenShift Container Platform.
  • Vous devez avoir installé l'OpenShift CLI (oc).
  • Vous avez une image déployée.

Procédure

  • Pour vous connecter à une base de données, entrez la commande suivante :

    $ oc new-app quay.io/centos7/mongodb-36-centos7 --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

    Exemple de sortie

    --> Found container image dc18f52 (8 months old) from quay.io for "quay.io/centos7/mongodb-36-centos7"
    
        MongoDB 3.6
        -----------
        MongoDB (from humongous) is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. This container image contains programs to run mongod server.
    
        Tags: database, mongodb, rh-mongodb36
    
        * 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
    Copy to Clipboard Toggle word wrap

4.7.1. Création d'un secret

L'objet Secret fournit un mécanisme pour contenir des informations sensibles telles que les mots de passe, les fichiers de configuration du client OpenShift Container Platform, les informations d'identification du référentiel source privé, etc. Les secrets découplent le contenu sensible des pods. Vous pouvez monter des secrets dans des conteneurs à l'aide d'un plugin de volume ou le système peut utiliser des secrets pour effectuer des actions au nom d'un pod. La procédure suivante ajoute le secret nationalparks-mongodb-parameters et le monte dans la charge de travail nationalparks.

Conditions préalables

  • Vous devez avoir accès à un cluster OpenShift Container Platform.
  • Vous devez avoir installé l'OpenShift CLI (oc).
  • Vous avez une image déployée.

Procédure

  1. Pour créer un secret, entrez la commande suivante :

    $ 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

    Exemple de sortie

    secret/nationalparks-mongodb-parameters created
    Copy to Clipboard Toggle word wrap

  2. Pour mettre à jour la variable d'environnement afin d'attacher le secret mongodb à la charge de travail nationalpartks, entrez la commande suivante :

    $ oc set env --from=secret/nationalparks-mongodb-parameters deploy/nationalparks
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    deployment.apps/nationalparks updated
    Copy to Clipboard Toggle word wrap

  3. Pour afficher l'état du déploiement de nationalparks, entrez la commande suivante :

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

    Exemple de sortie

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

  4. Pour afficher l'état du déploiement de mongodb-nationalparks, entrez la commande suivante :

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

    Exemple de sortie

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

Vous avez déployé les applications parksmap et nationalparks, puis la base de données mongodb-nationalparks. Cependant, aucune donnée n'a été chargée sur into.

Conditions préalables

  • Vous devez avoir accès à un cluster OpenShift Container Platform.
  • Vous devez avoir installé l'OpenShift CLI (oc).
  • Vous avez une image déployée.

Procédure

  1. Pour charger les données des parcs nationaux, entrez la commande suivante :

    $ 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

    Exemple de sortie

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

  2. Pour vérifier que vos données sont correctement chargées, entrez la commande suivante :

    $ 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

    Exemple de sortie (trimmée)

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

  3. Pour ajouter des étiquettes à l'itinéraire, entrez la commande suivante :

    $ oc label route nationalparks type=parksmap-backend
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    route.route.openshift.io/nationalparks labeled
    Copy to Clipboard Toggle word wrap

  4. Pour récupérer vos itinéraires et afficher votre carte, entrez la commande suivante :

    $ oc get routes
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME            HOST/PORT                                                      PATH   SERVICES        PORT       TERMINATION   WILDCARD
    nationalparks   nationalparks-user-getting-started.apps.cluster.example.com           nationalparks   8080-tcp   edge          None
    parksmap        parksmap-user-getting-started.apps.cluster.example.com                parksmap        8080-tcp   edge          None
    Copy to Clipboard Toggle word wrap

  5. Copiez et collez le chemin d'accès HOST/PORT que vous avez récupéré ci-dessus dans votre navigateur web. Votre navigateur devrait afficher une carte des parcs nationaux du monde entier.

    Figure 4.1. Les parcs nationaux dans le monde

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat