8.2. Spring Boot の外部化設定の例
以下の例は、実稼働環境での実行を目的としていません。
上達度レベルの例: Foundational
外部化された設定は、ConfigMap を使用して設定を外部化する基本的な例を提供します。ConfigMap は、コンテナーを OpenShift に依存しないようにする一方で、単純なキーと値のペアとして設定データを 1 つ以上の Linux コンテナーに挿入するために OpenShift で使用されるオブジェクトです。
この例では、以下の方法を示しています。
-
ConfigMap
をセットアップし、設定します。 -
アプリケーション内で
ConfigMap
によって提供される設定を使用します。 -
実行中のアプリケーションの
ConfigMap
設定に変更をデプロイします。
8.2.1. 外部化された設定の設計パターン
可能な限り、アプリケーション設定を外部化し、アプリケーションコードから分離させます。これにより、異なる環境を通過する際にアプリケーション設定を変更できますが、コードは変更されません。設定を外部化すると、機密情報や内部情報がコードベースやバージョン管理から除外されます。多くの言語およびアプリケーションサーバーは、アプリケーション設定の外部化をサポートする環境変数を提供します。
マイクロサービスアーキテクチャーおよび多言語 (polyglot) 環境は、アプリケーションの設定を管理する複雑な層を追加します。アプリケーションは独立した分散サービスで設定され、それぞれ独自の設定を持つことができます。すべての設定データを同期し、アクセス可能な状態に維持すると、メンテナーンスの課題が発生します。
ConfigMap により、アプリケーション設定を外部化でき、OpenShift 上の個々の Linux コンテナーおよび Pod で使用できます。YAML ファイルの使用を含むさまざまな方法で ConfigMap オブジェクトを作成し、これを Linux コンテナーに挿入できます。ConfigMap を使用すると、設定データのグループ化およびスケーリングが可能です。これにより、基本的な 開発、ステージ、および 実稼働 以外の多くの環境を設定できます。ConfigMap の詳細は、 OpenShift ドキュメント を参照してください。