19章EnvVar Configuration(環境変数による設定)
このEnvVar Configuration(環境変数による設定)パターンでは、アプリケーションを設定する最も単純な方法を見ていきます。設定値の数が少ない場合、設定を外部化する最も簡単な方法は、広くサポートされている環境変数に設定を入れてしまうことです。Kubernetesにおいて環境変数を宣言するさまざまな方法に加え、複雑な設定を管理するのに環境変数を使う際の限界についても見ていきます。
19.1 問題
データソースや外部サービスにアクセスしたり、本番向けのチューニングを行ったりするため、重要度の高いアプリケーションでは常に何らかの設定が必要です。アプリケーション内に設定をハードコードするのを悪としているTwelve-Factor Appマニフェスト(https://12factor.net/)についてはすでに学びました。ハードコードする代わりに設定は、アプリケーションが作られた後からでも変更が可能なように、外部化(externalize)するべきです。これにより、アプリケーションのイミュータブルな生成物が共有でき、その使用を促進するコンテナ化されたアプリケーションがさらなる価値を持ちます。では、コンテナ化された世界においてそれを最適な方法で行うにはどうしたらよいでしょうか。
19.2 解決策
Twelve-Factor Appマニフェストは、アプリケーションの設定の保存に環境変数を使うことを推奨しています。この方法は単純で、どんな環境やプラットフォームでも使えます。どんなOSでも環境変数の定義方法や環境変数をアプリケーションへ伝える方法は存在しており、どんなプログラミング言語でもこれらの環境変数に簡単にアクセスできます。環境変数はどこでも使えるといってもいいでしょう。環境変数を使う時のよくある方法としては、実行時に上書きできるよう、ビルド時にデフォルト値をハードコードすることです。DockerとKubernetesにおいてこれをどのように行うのか具体的な例を見てみましょう。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access