Kf Cloud Service Broker for Google Cloud を使用して Cloud Foundry Spring Music 参照アプリをデプロイする手順を説明します。
ソースから Java アプリをビルド: Spring Music のソースはローカルではなくクラスタ上でビルドされます。
サービス ブローカーの統合: Kf Cloud Service Broker を使用してデータベースを作成し、Spring Music アプリをデータベースにバインドします。
Spring Cloud Connectors: Spring Cloud Connectors は、Spring Music App がバインドされた CF サービスなどを検出するために使用され、Kf とシームレスに連携します。
Java バージョンの構成: ビルドパックで使用する Java のバージョンを指定します。
前提条件
Kf Cloud Service Broker をインストールして構成する
Spring Music のデプロイ
ソースのクローンを作成する
Spring Music リポジトリのクローンを作成します。
git clone https://github.com/cloudfoundry-samples/spring-music.git spring-music
cd spring-music
manifest.yml
を編集し、path: build/libs/spring-music-1.0.jar
をstack: org.cloudfoundry.stacks.cflinuxfs3
に置き換えます。これにより、Kf に Cloud Native Buildpacks を使用してソースからビルドするよう指示されるため、ローカルでコンパイルする必要はありません。--- applications: - name: spring-music memory: 1G random-route: true stack: org.cloudfoundry.stacks.cflinuxfs3 env: JBP_CONFIG_SPRING_AUTO_RECONFIGURATION: '{enabled: false}' # JBP_CONFIG_OPEN_JDK_JRE: '{ jre: { version: 11.+ } }'
バインディングなしで Spring Music を push する
Space を作成してターゲットとします。
kf create-space test
kf target -s test
Spring Music をデプロイします。
kf push spring-music
プロキシ機能を使用して、デプロイされたアプリにアクセスします。
プロキシを開始します。
kf proxy spring-music
ブラウザで
http://localhost:8080
を開きます。
デプロイされたアプリには、どの Spring プロファイルが使用されているかを表示する UI 要素が含まれています(Spring プロファイルがある場合)。ここではプロファイルは使用されず、インメモリ データベースが使用されていることを示します。
データベースを作成してバインドする
マーケットプレイスから PostgresSQL データベースを作成します。
kf create-service csb-google-postgres small spring-music-postgres-db -c '{"region":"COMPUTE_REGION","authorized_network":"VPC_NAME"}'
Service をアプリにバインドします。
kf bind-service spring-music spring-music-postgres-db
アプリを再起動し、VCAP_SERVICES 環境変数を介してサービス バインディングを使用できるようにします。
kf restart spring-music
(省略可)バインディングの詳細を表示します。
kf bindings
アプリが新しいバインディングを使用していることを確認します。
プロキシを開始します。
kf proxy spring-music
ブラウザで
http://localhost:8080
を開きます。Postgres プロファイルが使用され、アプリにバインドされた Service の名前が表示されるようになりました。
クリーンアップ
PostgreSQL サービスをバインド解除して削除します。
kf unbind-service spring-music spring-music-db
kf delete-service spring-music-db
このアプリを削除します。
kf delete spring-music