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 :
Création d'applications Java à partir de la source : la source Spring Music est créée sur le cluster, et non localement.
Intégration de l'agent de service : vous allez créer et associer une base de données PostgreSQL à l'application Spring Music.
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.
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
Clonez le dépôt Spring Music.
git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music cd spring-music
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
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
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
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"}'
Liez l'instance de service à l'application Spring Music :
kf bind-service spring-music spring-music-db -c '{"postgresqlDatabase":"smdb", "postgresDatabase":"smdb"}'
Redémarrez l'application pour rendre la liaison de service disponible via la variable d'environnement
VCAP_SERVICES
:kf restart spring-music
(Facultatif) Affichez les détails de la liaison :
kf bindings
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
Annulez la liaison et supprimez le service PostgreSQL :
kf unbind-service spring-music spring-music-db kf delete-service spring-music-db
Supprimez l'application :
kf delete spring-music