Bereitstellung und Verbindung einer Cloud Databases-Instanz

Ziele

Dieses Tutorial führt Sie durch den Prozess der Bereitstellung einer Cloud Databases und deren Verbindung mit einem Web-Frontend, indem Sie eine Webseite erstellen, die es Besuchern ermöglicht, ein Wort und dessen Definition einzugeben. Diese Werte werden dann in einer Datenbank gespeichert, die auf Cloud Databases läuft. Sie installieren die Datenbankinfrastruktur mithilfe von Terraform und Ihre Webanwendung verwendet das beliebte Express-Framework. Die Anwendung kann dann lokal oder mit Hilfe von Docker ausgeführt werden.

Produktiv werden

Installieren Sie zunächst einige unverzichtbare Produktivitätswerkzeuge, um mit der Bereitstellung zu beginnen:

  • Sie benötigen eine E-Mail-Adresse: IBM Cloud Konto.
  • Node.js und npm- zur Installation von Paketen aus öffentlichen npm-Registries
  • Terraform- zur Kodifizierung und Bereitstellung der Infrastruktur
  • Optionales Docker- um Ihre Anwendung nicht lokal auszuführen

Beantragen Sie einen API-Schlüssel, um Infrastruktur in Ihrem Konto bereitzustellen

Folgen Sie diesen Schritten, um einen IBM Cloud API-Schlüssel zu erstellen, der es Terraform ermöglicht, die Infrastruktur in Ihrem Konto bereitzustellen. Sie können bis zu 20 API-Schlüssel erstellen.

Aus Sicherheitsgründen kann der API-Schlüssel nur zum Zeitpunkt seiner Erstellung kopiert oder heruntergeladen werden. Wenn der API-Schlüssel verloren geht, müssen Sie einen neuen API-Schlüssel erzeugen.

Das Projekt klonen

Klonen Sie das Projekt aus dem Cloud Databases Hello World-Projekt GitHub.

git clone https://github.com/IBM-Cloud/clouddatabases-helloworld-examples.git

Infrastruktur installieren

In diesem Schritt stellen Sie eine Instanz des zu verwendenden Datenbankdienstes bereit. Das GitHub enthält Ordner für verschiedene Cloud Databases Ressourcen.

  1. Navigieren Sie vom Hauptordner des GitHub in den terraform Ihrer Wahl, zum Beispiel mysql/terraform.

  2. Erstellen Sie auf Ihrem Rechner ein Dokument mit dem Namen terraform.tfvars und den folgenden Feldern:

    ibmcloud_api_key = "<YOUR_API_KEY_FROM_STEP_1>"
    region = "<YOUR_REGION>"
    admin_password  = "<CREATE_15_CHARACTER_PASSWORD>"
    

    Das Dokument „ terraform.tfvars “ enthält Variablen, die Sie möglicherweise geheim halten möchten, weshalb es vom Repository „ GitHub “ ignoriert wird.

  3. Installieren Sie die Infrastruktur mit dem folgenden Befehl:

    terraform init
    terraform apply --auto-approve
    

    Das Terraform-Skript gibt Konfigurationsdaten aus, die für die Ausführung der Anwendung benötigt werden, also kopieren Sie es in den Stammordner:

    terraform output -json >../config.json
    

Führen Sie Ihre App lokal aus

  1. Um sich von Ihrem lokalen Rechner aus mit der Datenbank zu verbinden, vergewissern Sie sich, dass Sie sich in Ihrem Dienstordner befinden, installieren Sie dann die Knotenabhängigkeiten und führen Sie den Dienst mit den folgenden Befehlen aus:

    npm install
    
    npm run start
    

    Bei Erfolg zeigt die Ausgabe, dass Sie verbunden sind:

    #Connected!
    #Server is listening on port 8080
    
  2. Öffnen Sie einen Browser und besuchen Sie http://localhost:8080 Sie werden von einer Willkommensseite mit einem Datenbanklogo begrüßt, das in Ihrem Browserfenster angezeigt wird.

  3. Um die Schnittstelle zu testen, geben Sie ein Wort und seine Definition ein. Das Datenpaar wird der Datenbank hinzugefügt und erscheint in einer Liste unten auf der Seite.

Führen Sie die App von einem Docker-Container aus (optional)

Der erste Schritt zum Hosting Ihrer Anwendung über einen Dienst wie Code Engine besteht darin, den Anwendungscode in einem Docker zu containerisieren und von dort aus auszuführen.

  1. Stellen Sie sicher, dass Sie bei Ihrem Docker angemeldet sind. Geben Sie im Dienstordner der gewählten Datenbank den folgenden Befehl ein:

    docker build -t database-hello-world:1.0 .
    docker run -p 8080:8080 database-hello-world:1.0
    
  2. Öffnen Sie einen Browser und besuchen Sie http://localhost:8080, um die gleiche Willkommensseite wie in Schritt 4 zu sehen.

Herzlichen Glückwunsch, Sie haben eine Anwendung mit einem Frontend erstellt, das Daten in Ihre Cloud Databases Bereitstellung einspeist!