@@ -41,7 +41,7 @@ metadata:
41
41
name : game-demo
42
42
data :
43
43
# プロパティーに似たキー。各キーは単純な値にマッピングされている
44
- player_initial_lives : 3
44
+ player_initial_lives : " 3 "
45
45
ui_properties_file_name : " user-interface.properties"
46
46
#
47
47
# ファイルに似たキー
@@ -66,6 +66,7 @@ ConfigMapを利用してPod内のコンテナを設定する方法には、次
66
66
4番目の方法では、ConfigMapとそのデータを読み込むためのコードを自分自身で書く必要があります。しかし、Kubernetes APIを直接使用するため、アプリケーションはConfigMapがいつ変更されても更新イベントを受信でき、変更が発生したときにすぐに反応できます。この手法では、Kubernetes APIに直接アクセスすることで、別の名前空間にあるConfigMapにもアクセスできます。
67
67
68
68
以下に、Podを設定するために` game-demo`から値を使用するPodの例を示します。
69
+
69
70
` ` ` yaml
70
71
apiVersion: v1
71
72
kind: Pod
@@ -98,27 +99,30 @@ spec:
98
99
configMap:
99
100
# マウントしたいConfigMapの名前を指定します。
100
101
name: game-demo
102
+ # ファイルとして作成するConfigMapのキーの配列
103
+ items:
104
+ - key: "game.properties"
105
+ path: "game.properties"
106
+ - key: "user-interface.properties"
107
+ path: "user-interface.properties"
101
108
` ` `
102
109
103
- ConfigMapは1行のプロパティの値と複数行のファイルに似た形式の値を区別しません。問題となるのは、Podや他のオブジェクトによる値の使用方法です。この例では、ボリュームを定義して、`demo`コンテナの内部で`/config`にマウントすることにより、次の4つのファイルが作成されます。
110
+ ConfigMapは1行のプロパティの値と複数行のファイルに似た形式の値を区別しません。問題となるのは、Podや他のオブジェクトによる値の使用方法です。
111
+
112
+ この例では、ボリュームを定義して、`demo`コンテナの内部で`/config`にマウントしています。これにより、ConfigMap内には4つのキーがあるにもかかわらず、2つのファイル`/config/game.properties`および`/config/user-interface.properties`だけが作成されます。
104
113
105
- - ` /config/player_initial_lives`
106
- - ` /config/ui_properties_file_name`
107
- - ` /config/game.properties`
108
- - ` /config/user-interface.properties`
114
+ これは、Podの定義が`volumes`セクションで`items`という配列を指定しているためです。もし`items`の配列を完全に省略すれば、ConfigMap内の各キーがキーと同じ名前のファイルになり、4つのファイルが作成されます。
109
115
110
- ` /config` の中に`.properties`拡張子が付いたファイルだけを配置したい場合、2つの別のConfigMapを使用して、両方のConfigMapをPodの`spec`内で参照するようにします。1つ目のConfigMapでは`player_initial_lives`と`ui_properties_file_name`を定義し、2つ目のConfigMapでは、kubeletが`/config`の中に配置するファイルを定義します。
116
+ # # ConfigMapを使う
117
+
118
+ ConfigMapは、データボリュームとしてマウントできます。ConfigMapは、Podへ直接公開せずにシステムの他の部品として使うこともできます。たとえば、ConfigMapには、システムの他の一部が設定のために使用するデータを保存できます。
111
119
112
120
{{< note >}}
113
121
ConfigMapの最も一般的な使い方では、同じ名前空間にあるPod内で実行されているコンテナに設定を構成します。ConfigMapを独立して使用することもできます。
114
122
115
123
たとえば、ConfigMapに基づいて動作を調整する{{< glossary_tooltip text="アドオン" term_id="addons" >}}や{{< glossary_tooltip text="オペレーター" term_id="operator-pattern" >}}を見かけることがあるかもしれません。
116
124
{{< /note >}}
117
125
118
- # # ConfigMapを使う
119
-
120
- ConfigMapは、データボリュームとしてマウントできます。ConfigMapは、Podへ直接公開せずにシステムの他の部品として使うこともできます。たとえば、ConfigMapには、システムの他の一部が設定のために使用するデータを保存できます。
121
-
122
126
# ## ConfigMapをPodからファイルとして使う
123
127
124
128
ConfigMapをPod内のボリュームで使用するには、次のようにします。
0 commit comments