Spring Cloud Config をデプロイする

このドキュメントでは、Kf クラスタに Spring Cloud Config をデプロイする方法を説明します。

Spring Cloud Config を使用すると、アプリケーション コードをランタイム構成から分離できます。Spring Cloud Config 構成サーバーは、Git リポジトリ、ローカル ファイル システム、HashiCorp Vault サーバー、または Cloud Foundry CredHub から構成ファイルを読み取ることができます。構成サーバーは、構成の読み取りが完了すると、YAML、Java Properties、または JSON over HTTP 形式で構成を提供します。

始める前に

Kf CLI がインストールされたクラスタと、Kf CLI へのアクセス権が必要です。

また、次のソフトウェアも必要です。

  • git: リポジトリのクローンを作成するには Git が必要です。

Spring Cloud Config 構成サーバーをダウンロードする

構成サーバーソースをダウンロードするには:

  1. ターミナルを開きます。
  2. 構成サーバーのソースのクローンを作成します。

    git clone --depth 1 "https://github.com/google/kf"
    

構成サーバーの構成とデプロイ

インスタンスの設定を更新するには:

  1. spring-cloud-config-server ディレクトリに移動します。

    cd kf/spring-cloud-config-server
    
  2. manifest.yaml を開きます。

  3. GIT_URI 環境変数を Git 構成サーバーの URI に変更します。

  4. 必要に応じて、マニフェスト内のアプリケーションの名前を変更します。

  5. 必要に応じて、src/main/resources/application.properties を編集して追加のプロパティまたは別のプロパティ ソースを構成します。

  6. 外部ルートを使用せずに構成サーバーをデプロイします。マニフェストでアプリケーションの名前を変更した場合は、その名前をここで更新します。

    kf push --no-route spring-cloud-config
    

アプリケーションを構成サーバーにバインドする

ユーザー提供のサービスを作成して、同じクラスタまたは名前空間の他の Kf アプリケーションにデプロイされた構成サーバーをバインドできます。

構成方法は、使用するライブラリによって異なります。

PCF アプリケーション

Pivotal の Spring Cloud Services クライアント ライブラリを使用する既存の PCF アプリケーションは、次の方法でバインドできます。

  1. ユーザー指定のサービス config-server を作成します。この手順は、構成サーバーごとに 1 回行うだけで済みます。

    kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
    
  2. 認証情報が必要なアプリケーションごとに、次のコマンドを実行します。

    kf bind-service application-name config-server
    kf restart application-name
    

    これにより、構成サーバーの VCAP_SERVICES 環境変数にエントリが作成されます。

その他のアプリケーション

Spring Cloud Config 構成サーバーに直接接続できるアプリケーションは、クラスタ内部 URI を使用してアクセスできるように構成する必要があります。

http://spring-cloud-config
  • Spring Cloud Config クライアント ライブラリを使用する Spring アプリケーションの場合、アプリケーションの適切な場所に spring.cloud.config.uri プロパティを設定します。これは通常、application.properties または application.yaml ファイルになります。
  • 他のフレームワークについては、ライブラリのリファレンス情報をご覧ください。

構成サーバーを削除する

構成サーバーを削除するには:

  1. バインドされたアプリケーションごとに次のコマンドを実行して、構成サーバーに対するすべてのバインディングを削除します。

    kf unbind-service application-name config-server
    kf restart application-name
    
  2. 構成サーバーのサービス エントリを削除します。

    kf delete-service config-server
    
  3. 構成サーバー アプリケーションを削除します。

    kf delete spring-cloud-config
    

次のステップ