Rechercher

4.7. Connexion à une base de données

download PDF

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'

    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

Ressources complémentaires

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

    Exemple de sortie

    secret/nationalparks-mongodb-parameters created

  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

    Exemple de sortie

    deployment.apps/nationalparks updated

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

    $ oc rollout status deployment nationalparks

    Exemple de sortie

    deployment "nationalparks" successfully rolled out

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

    $ oc rollout status deployment mongodb-nationalparks

    Exemple de sortie

    deployment "nationalparks" successfully rolled out
    deployment "mongodb-nationalparks" successfully rolled out

4.7.2. Chargement des données et affichage de la carte des parcs nationaux

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

    Exemple de sortie

    "Items inserted in database: 2893"

  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

    Exemple de sortie (trimmée)

    , {"id": "Great Zimbabwe", "latitude": "-20.2674635", "longitude": "30.9337986", "name": "Great Zimbabwe"}]

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

    $ oc label route nationalparks type=parksmap-backend

    Exemple de sortie

    route.route.openshift.io/nationalparks labeled

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

    $ oc get routes

    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

  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

    A map of the national parks across the world is displayed with location tracking.

Ressources complémentaires

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.

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 leBlog 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.

© 2024 Red Hat, Inc.