第21章 ConfigMap
21.1. 概要
数多くのアプリケーションには、設定ファイル、コマンドライン引数、および環境変数の組み合わせを使用した設定が必要です。これらの設定アーティファクトは、コンテナー化されたアプリケーションを移植可能な状態に保つためにイメージコンテンツから切り離す必要があります。
ConfigMap
オブジェクトは、コンテナーを OpenShift Container Platform に依存しない状態にする一方でコンテナーに設定データを挿入するメカニズムを提供します。ConfigMap
は、個々のプロパティーなどの粒度の細かい情報や設定ファイル全体または JSON Blob などの粒度の荒い情報を保存するために使用できます。
ConfigMap
API オブジェクトは、 Pod で使用したり、コントローラーなどのシステムコントローラーの設定データを保存するために使用できる設定データのキーと値のペアを保持します。ConfigMap
は シークレット に似ていますが、機密情報を含まない文字列の使用をより効果的にサポートするように設計されています。
以下は例になります。
ConfigMap オブジェクト定義
kind: ConfigMap apiVersion: v1 metadata: creationTimestamp: 2016-02-18T19:14:38Z name: example-config namespace: default data: 1 example.property.1: hello example.property.2: world example.property.file: |- property.1=value-1 property.2=value-2 property.3=value-3 binaryData: bar: L3Jvb3QvMTAw 2
ファイルから configmap を作成する際に、binaryData
フィールドを使用できます。
設定データはさまざまな方法で Pod 内で使用できます。ConfigMap
は以下を実行するために使用できます。
- 環境変数の値の設定
- コンテナーのコマンドライン引数の設定
- ボリュームの設定ファイルの設定
ユーザーとシステムコンポーネントの両方が設定データを ConfigMap
に保存できます。