22.2. ConfigMap の作成
以下のコマンドを使用すると、ConfigMap
をディレクトリーや特定ファイルまたはリテラル値から簡単に作成できます。
$ oc create configmap <configmap_name> [options]
以下のセクションでは、ConfigMap
を作成するための各種の方法について説明します。
22.2.1. ディレクトリーからの作成
ConfigMap
の設定に必要なデータを含むファイルのあるディレクトリーについて見てみましょう。
$ ls example-files game.properties ui.properties $ cat example-files/game.properties enemies=aliens lives=3 enemies.cheat=true enemies.cheat.level=noGoodRotten secret.code.passphrase=UUDDLRLRBABAS secret.code.allowed=true secret.code.lives=30 $ cat example-files/ui.properties color.good=purple color.bad=yellow allow.textmode=true how.nice.to.look=fairlyNice
以下のコマンドを使用して、このディレクトリーの各ファイルの内容を保持する ConfigMap
を作成できます。
$ oc create configmap game-config \ --from-file=example-files/
--from-file
オプションがディレクトリーを参照する場合、そのディレクトリーに直接含まれる各ファイルが ConfigMap
でキーを設定するために使用されます。 このキーの名前はファイル名であり、キーの値はファイルの内容になります。
たとえば、上記のコマンドは以下の ConfigMap
を作成します。
$ oc describe configmaps game-config Name: game-config Namespace: default Labels: <none> Annotations: <none> Data game.properties: 121 bytes ui.properties: 83 bytes
マップにある 2 つのキーが、コマンドで指定されたディレクトリーのファイル名に基づいて作成されていることに気づかれることでしょう。それらのキーの内容のサイズは大きくなる可能性があるため、oc describe
の出力はキーとキーのサイズのみを表示します。
キーの値を確認する必要がある場合は、オブジェクトに対して oc get
をオプション -o
を指定して実行できます。
$ oc get configmaps game-config -o yaml apiVersion: v1 data: game.properties: |- enemies=aliens lives=3 enemies.cheat=true enemies.cheat.level=noGoodRotten secret.code.passphrase=UUDDLRLRBABAS secret.code.allowed=true secret.code.lives=30 ui.properties: | color.good=purple color.bad=yellow allow.textmode=true how.nice.to.look=fairlyNice kind: ConfigMap metadata: creationTimestamp: 2016-02-18T18:34:05Z name: game-config namespace: default resourceVersion: "407"- selflink: /api/v1/namespaces/default/configmaps/game-config uid: 30944725-d66e-11e5-8cd0-68f728db1985