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