Tanzu Platform Self Managed を試す - 利用者向け:DB接続情報の管理編

最新製品である Tanzu Platform のオンプレ版を試していきます。

ここではTPの利用者がDB接続情報の管理方法があります。

シリーズ

おまけ:「Tanzu Platform の知らなくてもいい話」シリーズ

Spring Boot 利用者向け:DBを接続

デプロイしたアプリケーションにDBの接続情報のバインド方法を記載していきます。 Spring Boot を使っているか否かで微妙に手順が異なります。まず Spring Boot を利用している場合について記載します。

まず、この記事 に従いアプリをデプロイします。そして、Postgresがあり、それに接続したいとします。 この際、Postgresの接続情報は知っている前提です。

[Space] > [Overview] からデプロイしたアプリケーションを選択します。 [Services] タブを選択します。そして [Create Service] を選択します。

[Attach Service]を選択します。

  • Service Name : 適当な名前を設定します。

  • Connector Name : 適当な名前を設定します。
  • Binding Type : ダラッグリストから該当のサービスを選択します。
  • Binding Details Same for all AT : 以下の画面ではYesにしていますが、この機能をうまく使えば、Availability Targetごとに違うシークレット情報を振り分けることができます。
  • Binding Details : 必要な情報をいれていきます。ここでは Spring Cloud Bindingsのマッピングにしたがって、利用していきます。Postgresを選択している場合、host、port、database、username、passwordで十分なはずです。
  • Egress Connector : DBが外部に存在する場合に入力の必要あり

アプリがデプロイ済みの場合は、[Bind Service(Optional)] で、[ADD SERVICE BINDING] でターゲットを決めます。

全部おわったら、[CREATE SERVICE]を選択します。 BINDされたことを確認します。

Spring Boot の場合、基本的にこれだけで Spring Cloud Bindings の仕組みでパスワードがアプリケーションに反映されます。

なお、UIが慣れたらもちろんCLIでもできます。

https://techdocs.broadcom.com/us/en/vmware-tanzu/platform/tanzu-platform/10-0/tnz-platform/spaces-how-to-build-bind-deploy-create-services.html

Spring Boot 以外利用者向け:DBを接続

Spring Boot 以外だと、Service Bindingの以下のマニュアルを読み込む必要があります。

https://servicebinding.io/application-developer/

最終的には、Lanage Specific Libraries のライブラリをアプリケーションに追加する必要があります。 それが完了すれば、Spring Bootと同じやり方で、バインドが可能です。

ライブラリ追加がめんどくさい場合、ハック的な手段でマップする方法はあるにはあるのですが、マニアックなので別記事でとりあげるかもしれません。

以上DBとの接続方法のご紹介でした。