March 2018
Intermediate to advanced
248 pages
2h 51m
Japanese
コンテナイメージをできる限り再利用可能にしておくのは重要です。同じイメージを開発環境にも、ステージング環境にも、本番環境にも使用可能にしておくべきです。アプリケーションやサービスが違っても使用できるように、イメージを一般化しておくのも同じく重要です。イメージが環境ごとに違うと、テストやバージョン管理がやりにくく、より複雑になります。では、イメージを実行環境に応じて特殊化したい時はどうしたらよいのでしょうか。
そんな時こそ、ConfigMapとSecretを使うべきです。ConfigMapは、ワークロードに応じた設定情報を保存します。その情報は、細かい情報(短い文字列)でも、ファイル形式の複合的な値でも構いません。SecretはConfigMapに似ていますが、ワークロードに応じた機密情報を保存するためにあります。パスワードや、TLS証明書などを保存するのに向いています。
ConfigMapは、小さなファイルシステムを作るKubernetesオブジェクトです。または、環境ごとやコマンドラインでコンテナを定義する際に使用できる、変数の集まりだとも言えます。重要なのは、ConfigMapは直前に作られたPodと組み合わせて使うものだということです。使用するConfigMapを変更するだけで、コンテナイメージとPodの定義をさまざまなアプリケーションで再利用できます。
では、ConfigMapを作ってみましょう。Kubernetes上の他のオブジェクトと同じく、命令的な方法でも、マニフェストファイルからでも作成できます。まずは命令的な方法を使います。
例11-1にあるように、Podから参照可能にしたいmy-config.txtというファイルがディスク上にあるとします。 ...