Déployer Spring Music

Ces instructions vous guideront tout au long du déploiement de l'application de référence Cloud Foundry Spring Music à l'aide de Kf, en illustrant les points suivants :

  1. Création d'applications Java à partir de la source : la source Spring Music est créée sur le cluster, et non localement.

  2. Intégration de l'agent de service : vous allez créer et associer une base de données PostgreSQL à l'application Spring Music.

  3. Connecteurs Spring Cloud : les connecteurs Spring Cloud sont utilisés par l'application Spring Music pour détecter les éléments CF liés. Ils fonctionnent parfaitement avec Kf.

  4. Configuration de la version Java : vous devez spécifier la version de Java que vous souhaitez utiliser avec le pack de création.

Prérequis

Option 1 : Minibroker

L'administrateur du cluster doit suivre ces instructions pour installer l'agent de service Minibroker sur votre cluster. Minibroker vous permet de provisionner une base de données PostgreSQL et de configurer votre application pour l'utiliser.

Pour vérifier que Minibroker est installé et disponible sur votre cluster, exécutez kf marketplace, et vous devriez voir un résultat semblable à celui-ci :

$ 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 : autre agent de service

Vous pouvez utiliser un autre agent de service installé, à condition qu'il soit compatible avec la création de services PostgreSQL. Par exemple, gcp-service-broker.

Déployer

Cloner la source

  1. Clonez le dépôt Spring Music.

    git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
    cd spring-music
  2. Remplacez manifest.yml par le contenu suivant :

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

Application push

  1. Effectuez le déploiement (cela suppose que vous ayez déjà ciblé un espace kf target). Pour en savoir plus, consultez ces documents :

    kf push spring-music
    
  2. Utilisez la fonctionnalité de proxy pour accéder à l'application déployée, puis chargez http://localhost:8080 dans votre navigateur :

    kf proxy spring-music
    

    L'application déployée inclut un élément d'interface utilisateur indiquant le profil Spring (le cas échéant) utilisé. Aucun profil n'est utilisé ici, indiquant qu'une base de données en mémoire est utilisée.

Créer et associer une base de données

  1. Créez un service PostgreSQL via l'agent de service installé sur la place de marché :

    kf create-service postgresql 11-7-0 spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  2. Liez l'instance de service à l'application Spring Music :

    kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
    
  3. Redémarrez l'application pour rendre la liaison de service disponible via la variable d'environnement VCAP_SERVICES :

    kf restart spring-music
    
  4. (Facultatif) Affichez les détails de la liaison :

    kf bindings
    
  5. Exécutez kf proxy dans l'application et affichez les détails dans votre navigateur Web. Le profil Spring doit s'afficher, indiquant que le service PostgreSQL que vous avez créé et lié est utilisé :

Détruire

  1. Annulez la liaison et supprimez le service PostgreSQL :

    kf unbind-service spring-music spring-music-db
    kf delete-service spring-music-db
    
  2. Supprimez l'application :

    kf delete spring-music