21章Immutable Configuration(イミュータブル設定)
Immutable Configuration(イミュータブル設定)パターンは、アプリケーションの設定が常に既知で、記録された状態にあるようにするため、設定データをイミュータブルにする方法を2つ提供します。このパターンでは、イミュータブルかつバージョンづけされた設定データを使えるだけでなく、環境変数やConfigMapに保存された設定データに存在するサイズ制限も克服できます。
21.1 問題
「19章 EnvVar Configuration(環境変数による設定)」で見たように環境変数は、コンテナベースのアプリケーションを設定するシンプルな方法を提供してくれます。環境変数は簡単に使える上にどこでもサポートされていますが、環境変数の数が一定数を超えると管理が大変になってしまいます。
ここで生まれる複雑さは、Kubernetes 1.21からイミュータブルであると宣言できるようになったConfigMapとSecret、つまり「20章 Configuration Resource(設定リソース)」で説明したConfiguration Resourcesを使うことで、ある程度上手く扱えるようになります。しかし、ConfigMapには依然としてサイズ制限があるので、大きな設定データ(例えば機械学習における事前学習済みデータモデル)を扱う時には、イミュータブルにしたとしてもConfigMapは適しているとは言えません。
ここでのイミュータブルにするとは、設定データが常に既知の状態であるようにするため、アプリケーションが起動した後は設定を変更できないということです。さらに、イミュータブルな設定はバージョン管理でき、変更管理プロセスに従うこともできます。 ...
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