Spring Music bereitstellen

Diese Anleitung führt Sie durch die Bereitstellung der Referenzanwendung Cloud Foundry Spring mit Kf unter der Erläuterung verschiedener Punkte:

  1. Java-Anwendungen aus der Quelle erstellen: Die Spring Music-Quelle wird auf dem Cluster erstellt, nicht lokal.

  2. Service Broker-Integration: Sie erstellen und binden eine PostgreSQL-Datenbank an die Spring Music-Anwendung.

  3. Spring Cloud Connectors: Spring Cloud Connectors werden von der Spring Music Anwendung verwendet, um Dinge wie gebundene CF-Dienste zu erkennen. Sie sind funktionieren nahtlos mit Kf.

  4. Java-Version konfigurieren: Sie geben die Version von Java an, die vom Buildpack verwendet werden soll.

Vorbereitung

Option 1: Minibroker

Der Clusteradministrator muss dieser Anleitung ausführen, um den Service für den Minibroker in Ihrem Cluster zu installieren. Mit Minibroker können Sie eine PostgreSQL-Datenbank bereitstellen und Ihre Anwendung für die Verwendung konfigurieren.

Wenn Sie prüfen möchten, ob Minibroker installiert und für den Cluster verfügbar ist, führen Sie kf marketplace aus. Die Ausgabe sollte in etwa so aussehen:

$ kf marketplace
5 services can be used in Space "demo", use the --service flag to list the plans for a service

Broker      Name        Space      Status  Description
minibroker  mariadb                Active  Helm Chart for mariadb
minibroker  mongodb                Active  Helm Chart for mongodb
minibroker  mysql                  Active  Helm Chart for mysql
minibroker  postgresql             Active  Helm Chart for postgresql
minibroker  redis                  Active  Helm Chart for redis

Option 2: Andere Service Broker

Sie können einen anderen Service Broker verwenden, der die Erstellung von PostgreSQL-Diensten unterstützt. Zum Beispiel gcp-service-broker.

Bereitstellen

Quellcode klonen

  1. Klonen Sie das Spring Music-Repository.

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
  2. Bearbeiten Sie manifest.yml und ersetzen Sie den Inhalt durch Folgendes:

    ---
    applications:
    - name: spring-music
      memory: 1G
      random-route: true
      stack: org.cloudfoundry.stacks.cflinuxfs3
      env:
        BP_AUTO_RECONFIGURATION_ENABLED: false
    

Push Anwendung

  1. Bereitstellen (vorausgesetzt, Sie haben bereits einen Bereich kf target bearbeitet; weitere Informationen finden Sie in diesen Dokumenten):

    kf push spring-music
    
  2. Verwenden Sie die Proxyfunktion, um auf die bereitgestellte Anwendung zuzugreifen. Laden Sie dann http://localhost:8080 in Ihrem Browser:

    kf proxy spring-music
    

    Die bereitgestellte Anwendung enthält ein UI-Element, das angibt, welches (falls vorhanden) Springprofil verwendet wird. Hier wird kein Profil verwendet, was darauf hinweist, dass eine In-Memory-Datenbank verwendet wird.

Datenbank erstellen und binden

  1. Erstellen Sie einen PostgreSQL-Dienst über den im Marketplace installierten Broker:

    kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  2. Binden Sie die Dienstinstanz an die Spring Music Anwendung:

    kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  3. Starten Sie die Anwendung neu, um die Dienstbindung über die Umgebungsvariable VCAP_SERVICES verfügbar zu machen:

    kf restart spring-music
    
  4. (Optional) Sehen Sie sich die Details der Bindung an:

    kf bindings
    
  5. kf proxy zur App hinzu und öffnen Sie sie im Webbrowser. Es sollte das Spring-Profil angezeigt werden, das angibt, dass der von Ihnen erstellte und gebundene PostgreSQL-Dienst verwendet wird:

Löschen

  1. Erstellen Sie die Bindung und löschen Sie den PostgreSQL-Dienst:

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. Löschen Sie die Anwendung:

    kf delete spring-music